Рекомендация: Проектирование управляемых сообщениями объектов EJB
В этом разделе обсуждается проектирование управляемых сообщениями объектов EJB для приложения J2EE.
Взаимосвязи
Связанные элементы
Основное описание

Введение

Этот раздел посвящен проектированию управляемых сообщениями объектов EJB. Дополнительная информация об управляемых сообщениями объектах EJB, в частности, указания по их идентификации и моделированию, приведена в главе Указания для рабочего продукта: управляемые сообщениями объекты EJB. Общая информация об объектах EJB приведена в главе Раздел описания рабочего продукта: объекты EJB.

Учтите, что поскольку управляемые сообщениями объекты EJB вызываются косвенно посредством сообщений, а не напрямую посредством операций интерфейса, их проектирование включает разработку формата сообщений и описание действий в ответ на сообщения, а не разработку операций интерфейса.

Транзакции

Одно из ограничений на применение сообщений заключается в том, что поставщик сообщения и приемник (управляемый сообщениями объект EJB) не могут участвовать в одной и той же транзакции. Поставщик может воспользоваться транзакцией, чтобы поместить сообщение в очередь, и управляемый сообщениями объект EJB может воспользоваться транзакцией для фиксации результатов приема этого сообщения, но эти транзакции обязаны быть различными.

Управляемые сообщениями объекты EJB могут применять транзакции, управляемые EJB или управляемые контейнером. В общем случае, транзакции, управляемые контейнером, проще, поэтому они применяются чаще. Дополнительная информация приведена в разделе Технология: проектирование объектов EJB.

Порядок сообщений

Каждый управляемый сообщениями объект EJB - это активный класс, у которого может быть множество экземпляров. Поскольку все экземпляры управляемого сообщениями объекта EJB работают параллельно, обработка сообщения, полученного одним экземпляром, может закончиться как до, так и после того, как сообщение будет обработано другим экземпляром.

Это означает, что сообщения могут приниматься не в том порядке, в котором они отправлялись. Эта возможность должна быть учтена при проектировании управляемых сообщениями объектов EJB.