Должно ли приложение JMS создавать новый сеанс для каждого отправляемого сообщения? - PullRequest
3 голосов
/ 22 апреля 2010

Должно ли приложение JMS создавать новый сеанс для каждого отправляемого сообщения или предпочтительно создавать сеанс для длинной последовательности сообщений?

Ответы [ 2 ]

5 голосов
/ 22 апреля 2010

В общем, я бы сказал, что нет, хотя это действительно зависит от контекста и того, как вы логически воспринимаете коммуникации в вашем приложении.

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

Если у вас есть длинная и логичная последовательность взаимодействия, имеет смысл делать их в течение сеанса, пока вы не испортили свои потоки.

Сеанс фактически предоставляет средства для последовательности сообщений, поэтому по определению он предназначен для работы с несколькими сообщениями.

Вот что говорят документы:

Сеанс служит нескольким целям:

* It is a factory for its message producers and consumers.

* It supplies provider-optimized message factories.

* It supports a single series of transactions that combine work

, охватывающий своих производителей и потребителей в атомные единицы.

* It defines a serial order for the messages it consumes and the

сообщений, которые он создает.

* It retains messages it consumes until they have been acknowledged.

* It serializes execution of message listeners registered with its

потребителей сообщений.

1 голос
/ 22 апреля 2010

Документ класса для Session от Sun четко говорит об одном объекте Session, обрабатывающем сообщения во множественном числе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...