2016-05-18 18 views
1

xmlメッセージをIBM MQに送信する必要があります。スプリングバッチを使用してxmlメッセージをIBM MQに送信

  1. ソースシステムからメッセージを受信して​​xmlに変換し、JMSを使用してIBM MQに送信します。

  2. ソースシステムからxmlメッセージを受信し、IBM MQに直接送信します。

第2の要件では、xmlをSpringバッチを使用してJMSメッセージとして変換する必要があります。そうしないとIBM MQに直接送信できますか?

私にこれに関するアドバイスをしてください。

答えて

1

JMSを使用している場合は、あなたが(例えばMQなど)JMSプロバイダに送信しようとするすべてのメッセージは、javax.jms.Messageのを実装したクラスにラップする必要があります

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

あなたのインスタンスでは、実際にXMLをどのように格納しているかによって異なります。私は「XMLメッセージ」のようなことは認識していません。私はあなたがどちらかの文字列またはいくつかの種類のオブジェクトにそれを格納していると思います。

1つのオプションは、XMLのString表現でjavax.jms.TextMessageを使用することです。

XMLオブジェクトがシリアル化可能で、受信エンティティがオブジェクトを直列化解除できる場合は、javax.jms.ObjectMessageと見なすことができます。

+0

ありがとうございます。私はそれが私のために働くと思う。 私はスプリングバッチを使用してミドルウェアアプリケーションを作成します。したがって、JARとcronの仕事は、この特定の時間にこのjarファイルを起動します。しかし、MQでメッセージを受け取り、すぐに受信して変換を行うようなオプションはありますか? –

+0

あなたは、そのユースケースで非同期受信を利用し、onMessage()を実装し、アプリケーションをcron経由ではなく常に実行させることができます。このシナリオでは、アプリケーションは何もしない時間のほとんどを費やします。新しいメッセージが到着したら、処理のためにアプリケーションに渡されます。次に例を示します。https://docs.oracle.com/cd/E19798-01/821-1841/bncfh/index.html –

+0

迅速な応答ありがとうございます。しかし、私の瓶は一人で立つつもりで、どこにも配備されません。それはLinuxサーバーにあります。これまでjava -jarコマンドを実行しているとき、jarは処理するファイルやメッセージを探します。この場合、非同期受信はどのように動作しますか? –

関連する問題