안녕하세요, 현재 나의 요구 사항은 EhCache를 사용하여 레코드를 저장하고 읽는 것입니다. EhCache 구현이 처음입니다. EhCache Documentation을 읽고 구현하기 시작했습니다. 레코드를 삽입하고 부분을 읽었습니다. 레코드가 삽입되는 동안 * .data * .index 파일이 생성됩니다. 다음은 코드입니다. EhCache에서 레코드를 읽고 쓰는 방법은 무엇입니까?
public class Driver
{
public static void main(String[] args) {
CacheManager cm = CacheManager.create("ehcache.xml");
Cache cache = cm.getCache("test");
// I do a couple of puts
for(int i=0;i<10;i++){
cache.put(new Element("key1", "val1"));
cache.flush();
}
System.out.println(cache.getKeys());
for(int i=0;i<10;i++){
Element el = cache.get("key"+i);
System.out.println(el.getObjectValue());
}
cm.shutdown();
}
}
이제 문제는
cm.shutdown() 것입니다. 이 행을 주석 처리하고 삽입 부분을 주석 처리하고 프로그램 실행을 의미하는 경우 레코드를 검색 할 수 없으며 * .index 파일도 삭제됩니다. 따라서 실제 시나리오에서 프로그램이 갑자기 중지되면 시작 후 레코드를 읽을 수 없음을 의미합니다. 나는 파일이 삭제 된 이유를 알고 싶어 내가이 상황에서 레코드를 읽을하지 못할 이유는 ... 콘솔에 나오는 예외는 당신이 어떤 임의의 입력을하시기 바랍니다 필요
[email protected]
Exception in thread "main" java.lang.NullPointerException
at Driver.main(Driver.java:29)...
..
안녕하세요 Vishal, 답변 감사합니다. ....로 ehCache.xml 파일 자체에 DiskStoreConfiguration을 설정했습니다. 그러나 여전히 그것을 가져올 수 없습니다 ... 나를 안내해주십시오. 뭐가 잘못 됐니? –
하지만 구성 객체를 CM에 전달하고 있습니까? –
오, 퇴거 및 만료 정책은 무엇입니까? –