[英]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.