我试图在Infinispan上使用Spring Caching。我使用的是Spring Boot 3.2.8版和Infinispan版本8.2.4
在我的申请表中我已经
了@Component
@CacheConfig(cacheNames = "rtdm")
public class CacheRepository {
@Cacheable
public String findByCode(String code) {
...
}
我使用infinispan-spring4-embedded所以我已经
spring.cache.infinispan.config=infinispan.xml
在我的属性文件中,然后在我的infinispan.xml文件中
<?xml version="1.0" encoding="UTF-8"?>
<infinispan>
<jgroups>
<stack-file name="udp" path="jgroups.xml" />
</jgroups>
<cache-container default-cache="rtdm">
<transport stack="udp" node-name="${nodeName}" />
<replicated-cache name="rtdm"/>
</cache-container>
</infinispan>
缓存实际上似乎正在起作用,即第一次调用方法被调用,随后它不会 - 这很好。 但是,我并不相信它实际上使用了我在集群中设置的RTDM缓存,因为当我查看JMX时,所有属性都显示0操作。 为了清楚起见我已经为我的群集使用独立模式,并且我已将以下内容添加到我的clustered.xml文件中
<cache-container name="rtdm-container" default-cache="rtdm">
<transport lock-timeout="60000"/>
<replicated-cache mode="SYNC" name="rtdm" start="EAGER"/>
</cache-container>
我相信在我的两个节点集群中,我的infinispan实例正在相互通信,因为日志表明情况就是如此。 我是朝着正确的方向前进的,还是有人能发现我做错的事情?