캐시 (로컬 캐시)가있는 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>