Я использую спящий режим в кадре. Конфигурация приложения: наличие балансировщика для бэкэнд для нескольких серверов. Проблема в том, когда я сохраняю новую запись, записи сохраняются в базе данных. Но когда я пытаюсь извлечь запись с другого сервера, указывающего на ту же базу данных, я не могу получить вновь созданную строку. Он существует только на том сервере, на котором он был создан. Кэш гибернации отмечен как false в свойствах. Может ли кто-нибудь предложить мне то, чего я не хватает? или любые советы.Проблема с менеджером сущностей спящего режима на нескольких серверах
Код:
Сохранить апи:
@Transactional
public ID save(T entity) {
EntityManager em = getEntityManager();
if (em.contains(entity)) {
em.merge(entity);
} else {
em.persist(entity);
}
em.flush();
return (ID) entity.getId();
}
GET апи:
public T findOne(final ID id) {
EntityManager em = getEntityManager();
T entity = em.find(getEntityClass(), id);
em.flush();
return entity;
}
Не могли бы вы показать соответствующую часть своего кода? – vanekjar
Добавлен код ниже. – Ankush
В какой версии dropwizard и hibernate вы были? –