Привет
Можно ли настроить MDB на прослушивание нескольких топиков и в onMessage каким-нить образом получить и сообщение и название топика-источника, в зависимости от чего и обрабатывать сообщение?
Здравствуйте, zakvaska, Вы писали:
Z>Можно ли настроить MDB на прослушивание нескольких топиков и в onMessage каким-нить образом получить и сообщение и название топика-источника, в зависимости от чего и обрабатывать сообщение?
технически, MDB на уровне реализации (я, прежде всего, имею в виду свой xml-дескриптор) ожидает мессагу из весьма абстрактного источника, конкретный destination сопоставляется в момент деплоймента, так что тянуть физические подробности destinations из конкретной jms-службы наверх не получится
если основная цель — реюз кода, то можно поступить так, что один и тот же класс, реализующий логику обработки сообщения ты указываешь в описателях нескольких разных MDB (у каждого, свой destination), дополнительно заведя env-entry, которая в случае разных MDB будет иметь разные значения (т.е. ты сам эти значения задашь в дескрипторах, и их корректность будет целиком на тебе), а на уровне класса реализации её значение будет как-то влиять на логику
однако, если вариантов поведения много, то лучше декомпозицию кода сделать целиком на java (т.е. классы, реализующие MDB будут разными, но с использованием каких-то общих классов) — так будет менее запутанно, КМК