2014-11-27 2 views
1

자바로 작성된 서버 애플리케이션에 지속성을 제공하기 위해 infinispan (7.0.2.Final)을 사용하고 싶습니다. 구현을 시작하기 전에 가장 간단한 시나리오를 시도했지만 작동하지 않았습니다 ...java infinispan 가장 쉬운 예제

즉 2 개의 간단한 단위 테스트를 구현하고 하나씩 실행합니다. 즉, 별도로 실행합니다.

Cache<Object, Object> c = new DefaultCacheManager().getCache(); 
c.put("key1", "value1"); 

그리고 두 번째 :

첫 번째 테스트

만 구성

Cache<Object, Object> c = new DefaultCacheManager().getCache(); 
String result = (String) c.get("key1"); 

하지만 난

내가 무슨 일을하고있는 중이 야 ... 널 (null) = 결과를 받았다? 상자 밖에서 실행해야하는 infinispan 페이지를 읽었습니다 ...

답변

1

여기서 문제는 구성이 클러스터되지 않았기 때문입니다. 기본적으로 CacheMode = LOCAL이 사용되므로 데이터 복제를 기대할 수 없습니다.

시도 클러스터링 적절한 캐시 모드를 설정하는() 요소 :

http://infinispan.org/docs/7.0.x/user_guide/user_guide.html#_configuring_cache_programmatically

+0

흠, 링크가 있거나 가장 간단한 작업 케이스를 제공해 주시겠습니까? 매우 고맙겠습니다;) – user1703589

+0

클러스터 된 캐시의 Infinispan 빠른 시작 예 : https://github.com/infinispan/infinispan-quickstart/tree/master/clustered-cache – tsykora

1

당신이 (@tsykora 제안으로 클러스터링되지 않음) 지속성을 기대하는 것으로 보인다. 프로그래밍 방식의 구성 링크가 맞지만 가장 단순한 영구 저장소 인 SingleFileStore을 사용하려고합니다.

DefaultCacheManager manager = new DefaultCacheManager(); 
Configuration c = new ConfigurationBuilder().persistence() 
    .addSingleFileStore() 
    .location("/tmp/myDataStore") 
    .maxEntries(5000); 

manager.defineConfiguration("myCache", c); 
Cache<Object, Object> cache = manager.getCache("myCache"); 

(코드는 테스트되지 않았지만 이는 생각입니다.)