2016-03-20 6 views
1

У меня есть служба wcf, которая выполняет некоторый код и отправляет сообщение в IBM WebSphere MQ, размещенную на сервере Linux. Я могу просто получать сообщения из очереди. Что я хотел знать, есть ли способ, с помощью которого всякий раз, когда сообщение отправляется в очередь, для обработки этих сообщений активируется служба прослушивателя (WCF)? (this can be done by using netmsmqbinding and WAS for MSMQ)WCF IBM Websphere MQ Communication (WCF Listener)

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

Я посмотрел на некоторые answers, но они не связывают ФОС и мэк часть. Аналогичный вопрос - WCF/WebService to act as Listener for MQ Message?, но ответа нет. Я также посмотрел Listening to new enqueued messages using WCF Service.

Так что этот сценарий заставляет меня думать, что мой единственный вариант - написать службу Windows, которая после некоторого интервала прослушивает (опросы i.e вызывает метод get) в очереди или записывает консольное приложение, которое делает то же самое.

У кого-нибудь есть более элегантное решение?

+0

Очередь находится в java и вы хотите, чтобы код C# прослушивал java-сервер? – ilansch

+0

@ilansch Это сервер linux, который запускает установку IBM Websphere MQ ... –

+0

Как описано здесь: http://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.dev.doc/ q029950_.htm? lang = ru - вы можете использовать собственный хостинг или службу Windows. – Shashi

ответ

2

Triggering может быть вариантом. WebSphere MQ может запустить приложение, когда сообщение поступает в очередь:

http://www-01.ibm.com/support/docview.wss?uid=swg27020075&aid=1

Как вы хотите, чтобы вызвать приложение не работает на сервере менеджера очередей, вам потребуется запускающий монитор, как это:

http://www-01.ibm.com/support/docview.wss?uid=swg24000149

+0

Спасибо, посмотрим на это и сообщите ... –

+0

В соответствии с моим пониманием для запуска я настрою триггерный монитор (службу) в диспетчере очередей, который будет запускаться всякий раз, когда сообщение входит в очередь. Но мой сервис будет сервисом wcf, размещенным как служба Windows, и как будет взаимодействовать с ним сервис триггера? Или я что-то пропустил ... –

+1

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

Смежные вопросы