Spring Infinispan应用程序未使用Infinispan群集中的缓存

Spring Infinispan应用程序未使用Infinispan群集中的缓存,spring,caching,infinispan,Spring,Caching,Infinispan,我正在尝试将Spring缓存与Infinispan一起使用。我使用的是Spring Boot版本3.2.8和Infinispan版本8.2.4 在我的申请表中我有 @Component @CacheConfig(cacheNames = "rtdm") public class CacheRepository { @Cacheable public String findByCode(String code) { ... } spring.cache.infinispan.conf

我正在尝试将Spring缓存与Infinispan一起使用。我使用的是Spring Boot版本3.2.8和Infinispan版本8.2.4

在我的申请表中我有

@Component
@CacheConfig(cacheNames = "rtdm")
public class CacheRepository {

@Cacheable
public String findByCode(String code) {
     ...
}
spring.cache.infinispan.config=infinispan.xml
我正在使用infinispan-spring4-embedded,因此

@Component
@CacheConfig(cacheNames = "rtdm")
public class CacheRepository {

@Cacheable
public String findByCode(String code) {
     ...
}
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实例正在相互通信,因为日志显示了这种情况。
我走的方向正确吗,或者有人能发现我做错了什么吗?

您是否在配置bean中添加了@EnableCaching?谢谢,是的,我添加了。缓存正在工作,我只是不确信它正在使用我在infinispan集群中设置的缓存。您可以使用我的一个代码片段来验证它()。只需定期调用它并检查缓存是否已填充。