我正在尝试使用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实例正在相互通信,因为日志表明情况就是如此 . 我是朝着正确的方向前进的,还是有人能发现我做错了什么?