Я использую eclipselink JPA с базой данных, которая также обновляется внешне для моего приложения. По этой причине есть таблицы, которые я хочу запрашивать каждые несколько секунд. Я не могу заставить это работать, даже когда я пытаюсь отключить кеш и кеш запросов. Например:
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());
Несмотря на то, что емкость меняется, когда мое приложение спит, println всегда печатает одно и то же значение для одного и двух.
Я добавил следующее в файл persistence.xml
<property name="eclipselink.cache.shared.default" value="false"/>
<property name="eclipselink.query-results-cache" value="false"/>
Я, должно быть, что-то упускаю, но у меня заканчиваются идеи.
Джеймс