2016-10-25 4 views
1

私はJBoss 7をインストールしてクラスタで実行しています。私はSpring Boot 1.3.2アプリケーションを開発しています。私は、domain.xmlで次のInfinispanキャッシュを定義した:application.propertiesでJBoss上のSpring BootとInfinspanキャッシュ

  <cache-container name="my-cache" default-cache="auth"> 
       <transport stack="tcp" lock-timeout="10000"/> 
       <replicated-cache name="auth" mode="SYNC" batching="true"> 
        <locking isolation="REPEATABLE_READ"/> 
        <transaction mode="NONE"/> 
        <eviction strategy="LRU" max-entries="100"/> 
        <expiration max-idle="300000"/> 
       </replicated-cache> 
      </cache-container> 

は、私は次のように定義されたファイル:

私は定義された私のキャッシュクラスの
spring.cache.type=infinispan 

そして:

@CacheConfig(cacheNames="java:jboss/infinispan/cache/my-cache/auth") 

JBossにアプリケーションをデプロイしようとすると、次のエラーが発生します。

Caused by: java.lang.IllegalArgumentException: No cache manager could be auto-configured, check your configuration (caching type is 'INFINISPAN' 

正しく動作するように設定するにはどうすればよいですか?

答えて

3

いいえ、私はthisチュートリアルに続き、問題を解決しました。

これは私がやったことです。

私は私のCacheManagerは、JBossで設定を定義しますキャッシュの設定クラスを作成しました:

@Configuration 
@EnableCaching 
public class CachingConfig { 

    @Bean 
    public CacheManager cacheManager() { 
     JndiTemplate jndiTemplate = new JndiTemplate(); 
     try { 
      EmbeddedCacheManager embededCacheManager = (EmbeddedCacheManager) jndiTemplate.lookup("java:jboss/infinispan/container/my-cache"); 
      SpringEmbeddedCacheManager cacheManager = new SpringEmbeddedCacheManager(embededCacheManager); 
      return cacheManager; 
     } catch (NamingException e) { 
      e.printStackTrace(); 
      return null; 
     } 
    } 
} 

私は次の依存関係を追加しました:

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-cache</artifactId> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-context</artifactId> 
</dependency> 
<dependency> 
    <groupId>org.infinispan</groupId> 
    <artifactId>infinispan-spring</artifactId> 
    <version>5.1.2.FINAL</version> 
</dependency> 

、明示的にはInfinispanの依存関係を宣言した:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <configuration> 
     <archive> 
      <manifestEntries> 
       <Dependencies>org.infinispan</Dependencies> 
      </manifestEntries> 
     </archive> 
    </configuration> 
</plugin> 
+0

でだから、単にリンクを張るだけでなく、解決策を説明する方が良い。 –

+0

ありがとう、私はポストを編集し、説明を追加しました。 – dplesa