我已经在我的Spring应用程序中实现了缓存,当我在本地运行它时一切正常。我在资源中有infinispan.xml
配置和以下配置:
spring.cache.type=infinispan
spring.cache.infinispan.config=classpath:infinispan.xml
现在我想将其部署到WildFly 10并使用内置缓存。我已经用jndi-name=infinispan/CONTAINER
定义了我的缓存容器。
我尝试将spring.cache.infinispan.config
设置为:
infinispan/CONTAINER
java:/infinispan/CONTAINER
java:jboss/infinispan/CONTAINER
但是我总是得到以下错误:
java.lang.IllegalArgumentException: Cache configuration does not exist
我该怎么做才能使它工作?
据我所知,目前这是不可能的。
您将需要扩展SpringEmbeddedCacheManagerFactoryBean并覆盖#createBackingEmbeddedCacheManager()
方法。然后使用JndiTemplate
抓取EmbeddedCacheManager
的引用部署在WildFly(类似于这个线程)。
我还创建了ISPN-7208以允许为缓存管理器指定JNDI引用。