Зависит от того, как он настроен, и частично от того, как вы используете транзакции .
Используете ли вы бин, управляемый сообщениями? В этом случае я считаю, что подтверждение будет отправлено, когда транзакция будет успешно завершена. См. спецификацию (в частности, версию 'ejbcore'), раздел 5.4.14 Подтверждение сообщения для управляемых сообщениями компонентов JMS , в котором говорится:
Подтверждение сообщения автоматически обрабатывается контейнером. Если управляемый сообщениями компонент использует разграничение управляемых контейнером транзакций, подтверждение сообщения обрабатывается автоматически как часть фиксации транзакции.
Далее говорится:
Если используется разграничение транзакции, управляемой бином, получение сообщения не может быть частью транзакции, управляемой бином, и в этом случае квитирование подтверждается контейнером. Если используется разграничение управляемых компонентом транзакций, поставщик компонентов может указать, следует ли применять семантику JMS AUTO_ACKNOWLEDGE
или семантику DUPS_OK_ACKNOWLEDGE
, используя элемент activationConfig
аннотации MessageDriven
или элемент дескриптора развертывания activation-config-property
. .
Но так как вы действительно не должны использовать транзакции, управляемые bean-компонентами, это, мы надеемся, не имеет значения.