使用Hibernate和Spring设置分布式Infinispan缓存

2022-04-14 00:00:00 缓存 配置 您的 管理器 休眠

一个非常典型的设置–需要分布式缓存的spring / hibernate应用程序。 但是事实证明,设置并不是那么简单。

您显然需要缓存。 可以使用EhCache,Hazelcast,Infinispan,memcached,Redis,AWS的Elasticache以及其他一些方法来执行此操作。 但是,EhCache仅支持复制的缓存,不支持分布式缓存,并且Hazelcast尚未与新版本的Hibernate一起使用。 Infinispan和Hazelcast支持一致的哈希,因此这些条目仅存在于特定实例上,而不是在每个实例的堆上具有所有缓存的完整副本。 Elasticache是特定于AWS的,因此Infinispann似乎是弹簧/休眠设置中平衡的选项。

因此,让我们首先设置休眠二级缓存。 infinispan的官方文档并不是Google排名高的结果-它通常是非常旧的文档,或者只是2个版本的旧文档。 您好从首页打开新的一个 。

下面的某些选项相当“隐藏”,在文档或现有的“操作方法”中我很难找到它们。

首先,将相关的依赖项添加到您的依赖项管理器配置中。 您需要infinispan-core , infinispan-springhibernate-infinispan 。 然后在您的configuratoin文件中(无论是哪个文件-在我的情况下是jpa.xml,这是一个定义JPA属性的弹簧文件)配置以下内容:

  1. 相关文章