В спецификации JMS определяется ряд дополнительных возможностей, предназначенных для реализации отправителями JMS-провайдеров и серверов приложений. Эти возможности расширяют функциональность JMS, если JMS-клиент выполняется в контексте контейнера J2EE. Возможности Application Server Facilities связаны с двумя основными функциональными областями — параллельной обработкой сообщений и распределенными транзакциями. Эти возможности коротко описываются в следующих разделах.
Параллельные получатели сообщений
Вспомните, что объекты Session и MessageConsumer не поддерживают параллельный доступ из нескольких потоков. Такое ограничение может быть весьма серьезным препятствием для реализации JMS-приложений в среде серверов приложений, где производительности и использованию ресурсов уделяется большое внимание. Application Server Facilities предлагают механизм, позволяющий серверу приложений создавать объекты-получатели сообщений, способные параллельно обрабатывать несколько входящих сообщений.
Распределенные транзакции
В спецификации JMS обозначено требование, чтобы JMS-провайдер поддерживал распределенные транзакции. Однако в ней также говорится, что если провайдер обеспечивает такую поддержку, она должна осуществляться через API JTA XAResource. Application Server Facilities определяют интерфейсы, которые сервер приложений должен реализовать, чтобы должным образом обеспечить поддержку распределенных транзакций.