2017-05-23 11 views
0

캐시 (로컬 캐시)가있는 Infinipan 캐시 컨테이너를 정의했습니다. 클러스터 환경 (고 가용성, 예 : 독립형 -ful-ha.xml)에는 아무런 문제가 없습니다. @Resource Annotation을 사용하여 캐시 참조를 찾는 것이 좋습니다. 비 HA Wildfly 10에서 Infinispan 캐시를 찾는 방법

그러나 비 클러스터 구성으로 제이보스로 배포 할 때 (HA하지 않고, 예를 들어 독립형-full.xml 프로필)이 조회 WFLYCTL0184 실패 : 새로운 만족/누락 된 종속 난 아직도 CLI 스크립트로 캐시를 정의 할 수 있습니다 런타임 구성에서 볼 수 있습니다. 차이점은 JNDI 자원 이름이 JNDI 레지스트리에 누락되어 있다는 것입니다 (이것이 조회가 실패하는 이유입니다).

문제는 Default standalone-full-ha.xml (작동)과 standalone-full.xml (배포가 실패한)에서 재현 할 수 있습니다.

클러스터되지 않은/non ha 구성에서 Infinispan 캐시를 조회하는 방법은 무엇입니까? 클러스터링 프로파일이 활성 상태인지 여부에 관계없이 동일한 코드 및 배치를 캐싱하고 싶습니다.

CLI 스크립트 : @Resource와

batch 
/subsystem=infinispan/cache-container=test-cache-container/:add(default-cache=test-cache,jndi-name=java:jboss/infinispan/container/test) 
/subsystem=infinispan/cache-container=test-cache-container/transport=TRANSPORT/:add(lock-timeout=30000) 
/subsystem=infinispan/cache-container=test-cache-container/local-cache=test-cache:add(indexing=NONE,jndi-name=infinispan/test-cache-container/test-cache) 
/subsystem=infinispan/cache-container=test-cache-container/local-cache=test-cache/transaction=TRANSACTION:add(locking=PESSIMISTIC, mode=FULL_XA) 
/subsystem=infinispan/cache-container=test-cache-container/local-cache=test-cache/eviction=EVICTION:add(strategy=NONE) 
/subsystem=infinispan/cache-container=test-cache-container/local-cache=test-cache/locking=LOCKING:add(acquire-timeout=30000,isolation=REPEATABLE_READ) 
run-batch 

조회 :

@Singleton 
@Remote(DataStore.class) 
public class DataStoreBean implements DataStore { 

    @Resource(lookup = "java:jboss/infinispan/test-cache-container/test-cache") 
    private Cache<String, Object> cache; 

JBoss에 배포-structure.xml :

<?xml version="1.0" encoding="UTF-8"?> 
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2"> 
    <deployment> 
     <dependencies> 
      <module name="org.infinispan" export="true"/> 
      <module name="org.infinispan.commons" export="true"/> 
     </dependencies> 
    </deployment> 
</jboss-deployment-structure> 

답변

1

Infinispan 캐시 컨테이너 그 운송 수단에 암시 적 d가 있음을 정의합니다. JGroups 채널에 대한 의존성. standalone-full.xml 프로파일은 필수 JGroups 서브 시스템을 정의하지 않습니다. CLI 스크립트 (전송을 추가하는 행)에서 두 번째 행을 제거하면 좋을 것입니다.