Как заставить JBoss 4.2.3 очищать кеш сеанса спящего режима для каждого запроса?

StackOverflow https://stackoverflow.com/questions/1293429

Вопрос

Мне кажется, что JBoss повторно использует менеджеры сущностей и базовые сеансы гибернации для нескольких запросов.Я провел тест, который доказывает, что в некоторых случаях состояние объекта может быть устаревшим, даже если оно было только что получено с помощью em.find().

Как я могу отключить это поведение и принудительно очистить или выбросить использованные сеансы, чтобы гарантировать, что каждый запрос обрабатывается с очисткой кеша?

УПД:

Вот пример случая.

HTTP-запрос 1.Сессионный компонент создает экземпляр объекта и сохраняет его, присвоив полю «A» значение 1.Сохраняемый объект получает ID = 4.

HTTP-запрос 2.Сессионный компонент ищет объект с идентификатором = 4, устанавливает для его поля «A» значение 2 и сохраняет его.

HTTP-запрос 3.Сессионный компонент ищет объект с идентификатором = 4 и проверяет его поле «A».Если значение равно 1, оно делает одно, если 2 — другое.

В случае, если EM в запросе 3 совпадает с запросом 1, происходит нежелательное поведение.Я проверил это и получил ок.10% случаев неудачи.

Это было полезно?

Решение 2

Хорошо, я понял это.JBoss корректно обрабатывает сессии, в моем тесте была ошибка =) Извините и спасибо за помощь

Другие советы

Ты пробовал выселение тот Объект из Сессия ?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top