2016-05-18 4 views
1

У меня есть требование отправить XML-сообщения в IBM MQ.Отправка xml-сообщений в IBM MQ с использованием весенней партии

  1. Получение сообщений из исходной системы и преобразование в xml и отправка их в IBM MQ с использованием JMS.

  2. Получение сообщений xml из исходной системы и отправка непосредственно в IBM MQ.

Для второго требования xml необходимо преобразовать в виде сообщения JMS с использованием весеннего пакета или же его можно напрямую отправить в IBM MQ?

Просьба дать мне совет по этому вопросу.

ответ

1

Если вы используете JMS, то любое сообщение, которое вы пытаетесь отправить поставщику JMS (например, как MQ) должен быть заключен в класс реализации javax.jms.Message:

http://docs.oracle.com/javaee/5/api/index.html?javax/jms/Message.html

В вашем случае это действительно зависит от того, как вы храните свой XML. Я не знаю ничего такого, как «XML-сообщение». Я должен представить, что вы либо храните его в String или Object какого-либо типа.

Одним из вариантов является использование javax.jms.TextMessage со строковым представлением вашего XML.

Или если ваш объект XML является сериализуемым, и принимающий объект может десериализовать объект, вы можете рассмотреть javax.jms.ObjectMessage.

+0

спасибо. Думаю, это сработает для меня. Я собираюсь создать промежуточное приложение, используя весеннюю партию. Таким образом, это будет JAR, и задание cron вызовет эту банку в определенное время. Но есть ли какие-либо варианты, например, если я получаю сообщение в MQ, то сразу получаю и делаю конверсию ?? –

+0

Вы можете использовать асинхронный прием в этом прецеденте, реализуя onMessage() и имея приложение все время, а не через cron. В этом случае ваше приложение будет тратить большую часть своего времени на то, чтобы ничего не делать. Когда поступит новое сообщение, оно будет передано вашему приложению для обработки. Примеры здесь: https://docs.oracle.com/cd/E19798-01/821-1841/bncfh/index.html –

+0

Благодарим за быстрый ответ. Но моя банка будет стоять одна, и она не будет развернута нигде. Это будет на сервере Linux. Когда я выполняю команду java -jar, тогда jar будет искать файлы или сообщения для обработки. В этом случае, как будет работать асинхронный прием? –

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