首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Infinispan + WildFly + Spring

Infinispan + WildFly + Spring
EN

Stack Overflow用户
提问于 2016-11-12 15:56:41
回答 1查看 537关注 0票数 1

在我的Spring1.4应用程序中,我配置了以下缓存管理器:

代码语言:javascript
复制
@Bean
public CacheManager cacheManager() throws Exception {
    JndiTemplate jndiTemplate = new JndiTemplate();
    EmbeddedCacheManager embededCacheManager = (EmbeddedCacheManager) jndiTemplate.lookup("java:jboss/infinispan/container/CONTAINER");
    SpringEmbeddedCacheManager cacheManager = new SpringEmbeddedCacheManager(embededCacheManager);
}

我正在运行WildFly 10。

pom.xml中,我为Infinispan定义了这个依赖项:

代码语言:javascript
复制
<dependency>
    <groupId>org.infinispan</groupId>
    <artifactId>infinispan-spring</artifactId>
    <version>8.1.0.Final</version>
</dependency>

当我部署应用程序Infinispan时,查找会找到WildFly配置中定义的缓存容器,一切都会正常启动。但是,当我运行使用缓存的方法时,我会得到以下异常:

代码语言:javascript
复制
java.lang.IncompatibleClassChangeError: Class org.jboss.as.clustering.infinispan.DefaultCache does not implement the requested interface org.infinispan.commons.api.BasicCache 

造成这一错误的原因是什么,以及如何修复?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-14 07:48:14

好的,这就是解决这个问题的原因。我不得不在舱单上加上可靠的org.jboss.as.clustering.infinispan。因此,我的POM的maven-war-plugin定义如下:

代码语言:javascript
复制
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <archive>
            <manifestEntries>
                <Dependencies>org.infinispan, org.infinispan.commons, org.jboss.as.clustering.infinispan export</Dependencies>
            </manifestEntries>
        </archive>
    </configuration>
</plugin>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40564680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档