Я был немного удивлен, чтобы найти строку в документации Oracle, заявив, что МБР относительно недолгие:Действительно ли MDB действительно недолговечны даже при объединении?
сообщений компонент имеют следующие характеристики.
- Выполняются при получении одного сообщения клиента.
- Они вызываются асинхронно.
- Это относительно недолго..
- Они не представляют непосредственно данные общего доступа в базе данных, но могут получать и обновлять эти данные.
- Они могут быть осведомлены о транзакциях.
- Они не имеют гражданства.
http://docs.oracle.com/javaee/6/tutorial/doc/gipko.html#gipmj
Что это могло на самом деле означает, что с МБР, как ожидается, должны быть объединены? Есть ли какая-либо конкретная причина для создания/уничтожения этих данных чаще, чем сессионные компоненты без состояния?
«В конце жизненного цикла контейнер вызывает метод аннотированный @PreDestroy, если он есть. Затем экземпляр компонента готов к сбору мусора». – OldProgrammer
Хорошо, но как это происходит с пулом? Я ожидал, что в этом случае bean должен вернуться в пул. Я ошибаюсь? – user3714601
Это скорее всего поведение контейнера. – OldProgrammer