1
我需要將XML消息發送到IBM MQ。使用spring批處理將XML消息發送到IBM MQ
從源系統接收消息並轉換爲xml並使用JMS將其發送到IBM MQ。
從源系統接收xml消息並直接發送到IBM MQ。
對於第二個需求,xml需要使用spring batch轉換爲JMS消息,否則可以直接發送給IBM MQ?
請給我一個建議。
我需要將XML消息發送到IBM MQ。使用spring批處理將XML消息發送到IBM MQ
從源系統接收消息並轉換爲xml並使用JMS將其發送到IBM MQ。
從源系統接收xml消息並直接發送到IBM MQ。
對於第二個需求,xml需要使用spring batch轉換爲JMS消息,否則可以直接發送給IBM MQ?
請給我一個建議。
如果你使用JMS,則需要被包裝成一個類實現您嘗試發送到JMS提供者(如MQ)的任何消息javax.jms.Message:
http://docs.oracle.com/javaee/5/api/index.html?javax/jms/Message.html
在你的實例中,它實際上取決於你如何存儲你的XML。我沒有意識到任何「XML消息」這樣的事情。我應該想象你要麼將它存儲在一個字符串或某種類型的對象。
一種選擇是使用javax.jms.TextMessage和XML的字符串表示形式。
或者,如果您的XML對象是可串行化的,並且接收實體可以反序列化Object,那麼您可以考慮使用javax.jms.ObjectMessage。
謝謝。我認爲它會對我有用。 我將使用spring批處理創建中間件應用程序。所以它將成爲JAR和cron工作將在特定的時間觸發這個罐子。但是,有沒有任何可用的選項,如果我在MQ中收到消息,然後立即receeve並做轉換? –
您可以在該用例中使用異步接收,實現onMessage()並讓應用程序始終運行,而不是通過cron。在這種情況下,您的應用程序會花大部分時間無所事事。當新消息到達時,它會傳遞給您的應用程序進行處理。這裏的示例:https://docs.oracle.com/cd/E19798-01/821-1841/bncfh/index.html –
感謝您的快速回復。但是我的jar會獨立運行,不會在任何地方部署。它將在Linux服務器上。當我執行java -jar命令時,jar會查找要處理的文件或消息。在這種情況下,異步接收將如何工作? –