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