Может ли MDB прослушивать несколько портов слушателя - PullRequest
1 голос
/ 09 марта 2012

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

Ответы [ 3 ]

2 голосов
/ 10 марта 2012

Нет.MDB может быть связан только с одним портом слушателя (или одной спецификацией активации).

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

0 голосов
/ 10 марта 2012

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

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

MDB - это агенты, которые подписываются на эти абстрактные почтовые ящики. У них действительно нет понимания базовой архитектуры. Что касается их, то все происходит локально в памяти. Их единственная задача - придерживаться стандарта EJB, а контейнер (обычно посредством применения более низкоуровневых стандартов, таких как JCA, многоуровневый поверх необработанных сокетов) позаботится о том, чтобы сообщения доставлялись по назначению.

Может быть, было бы полезно, если бы вы подробно остановились на том, почему вы беспокоитесь о том, как ваши MDB связаны с портами

0 голосов
/ 10 марта 2012

MDB развертываются на сервере приложений. Сервер приложений обычно прослушивает только один порт. Вы можете создать простое Java-приложение, которое создает разные соединения с разными серверами; в настраиваемом виде, хотя. Только не как MDB.

...