내 응용 프로그램에 외부 적으로 업데이트되는 데이터베이스와 함께 eclipselink JPA를 사용하고 있습니다. 이러한 이유로 몇 초마다 쿼리 할 테이블이 있습니다. 캐시 및 쿼리 캐시를 사용하지 않도록 설정하려고해도이 기능을 사용할 수 없습니다. 예를 들어 용량 변경 내 응용 프로그램 println 메소드를 자고있는 동안 비록 eclipselink 캐싱 및 쿼리 캐싱을 비활성화합니다 - 작동하지 않습니까?
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("default");
EntityManager em = entityManagerFactory.createEntityManager();
MyLocation one = em.createNamedQuery("MyLocation.findMyLoc").getResultList().get(0);
Thread.sleep(10000);
MyLocation two = em.createNamedQuery("MyLocation.findMyLoc").getResultList().get(0);
System.out.println(one.getCapacity() + " - " + two.getCapacity());
는 항상 하나, 둘에 대해 동일한 값을 출력합니다.
나는 내가 모르는 뭔가가되어야하지만, 아이디어가 부족하고있는 persistence.xml을
<property name="eclipselink.cache.shared.default" value="false"/>
<property name="eclipselink.query-results-cache" value="false"/>
에 다음을 추가했습니다.
제임스
2 개 속성. 그러나 요청 범위를 가진 EntityManager를 사용하고있었습니다. – Jarekczek