繁体   English   中英

Infinispan + WildFly + Spring

[英]Infinispan + WildFly + Spring

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

@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定义了这个依赖:

<dependency>
    <groupId>org.infinispan</groupId>
    <artifactId>infinispan-spring</artifactId>
    <version>8.1.0.Final</version>
</dependency>

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

java.lang.IncompatibleClassChangeError: Class org.jboss.as.clustering.infinispan.DefaultCache does not implement the requested interface org.infinispan.commons.api.BasicCache 

是什么原因导致此错误以及如何解决?

好的,这就解决了这个问题。 我不得不将相关的org.jboss.as.clustering.infinispan添加到MANIFEST中。 所以,我的POM有maven-war-plugin定义如下:

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM