Spring 和 WildFly Infinispan 缓存查找

Posted

技术标签:

【中文标题】Spring 和 WildFly Infinispan 缓存查找【英文标题】:Spring and WildFly Infinispan cache lookup 【发布时间】:2017-03-26 12:09:55 【问题描述】:

我已经在我的 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 

我应该怎么做?

【问题讨论】:

【参考方案1】:

据我所知,目前这是不可能的。

您需要扩展 SpringEmbeddedCacheManagerFactoryBean 并覆盖 #createBackingEmbeddedCacheManager() 方法。然后使用JndiTemplate 获取对部署在WildFly 中的EmbeddedCacheManager 的引用(类似于this thread)。

我还创建了ISPN-7208 以允许为缓存管理器指定 JNDI 引用。

【讨论】:

以上是关于Spring 和 WildFly Infinispan 缓存查找的主要内容,如果未能解决你的问题,请参考以下文章

Spring 和 WildFly Infinispan 缓存查找

Spring boot 和 JBoss 8 Wildfly 日志配置应用

将图像文件夹映射到 Spring MVC 和 Wildfly

将 Spring Boot 部署到 Wildfly 10

Spring Boot 应用程序未部署在 Wildfly 上

Eclipse、Spring、Wildfly log4j 日志记录