我在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
我应该怎么做才能使这项工作?
答案 0 :(得分:0)
据我所知,目前这是不可能的。
您需要扩展SpringEmbeddedCacheManagerFactoryBean并覆盖#createBackingEmbeddedCacheManager()
方法。然后使用JndiTemplate
获取对部署在WildFly中的EmbeddedCacheManager
的引用(类似于this thread)。
我还创建了ISPN-7208以允许为缓存管理器指定JNDI引用。