2011-07-07 8 views
2

私は、XMLを含むメッセージを処理するためにJMSキューを聴いている春のMessageListenerを実施しています。春MessageListenerの複数のメッセージ

私の豆提案書受理者は、キューから約5つ以上のXMLメッセージを処理します。私のコードは以下の通りです。

異なるXMLメッセージを処理するために、このクラスの別のメソッドを指定する方法はありますか?

+0

5つのメッセージの違いは何ですか? –

+0

これらはすべて提案リクエストに関する異なるペイロードXMLメッセージを含んでいます。例CreateProposalRequest.xml GetProposalRequest、AddStructuredDataRequestなど –

答えて

3

あなたの質問ではじめての建築的な質問があります。このメサージ・リスナーに作業を依頼するか、それを別のコンポーネントに渡しますか?演劇上の考慮事項はありますか?メモリの制約がありますか?つまり、ストリーミングベースのXML処理をしたいのですか?

います良いニュースは、あなたが春内で使用可能なこのパズルに作品の多くを持っているということです。

簡単な次のステップは、スプリングオブジェクトXMLマーシャリング(OXM)を使用する技術の一つを選択し、自分のリスナーBeanにマーシャラーを配線することです。

は別の技術は、春ApplicationEventインタフェースを使用キューから入ってくるメッセージを読み、特定の種類のリスナーに内部的にそれらを公開することになりhttp://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/oxm.html

を参照してください。それは上記のオブジェクトマーシャリングと組み合わせて使用​​できます。

これはSOAP Webサービスの場合、Spring WSを見てみましょう。同様のメッセージコンテナを使用して、メッセージをワイヤから取り出し、マーシャリングして、春のエンドポイントを呼び出します。そのインタフェース契約を満たすサービスインタフェース)。

http://static.springsource.org/spring-ws/sites/2.0/reference/html/server.html#d4e907

+0

wow;それは一口です。その情報のおかげで、私はあなたの提案を見て、どちらが自分のために最良のものかを判断します。 –

1

Spring Integration project非常にこの種の問題のために推奨されます。基本的には、メッセージを受け取るためにjmsインバウンド・ゲートウェイを実装する必要があります。この時点でこれをオブジェクトに変換し、メッセージを適切なサービス・アクティベータ・コンポーネントにルーティングします。

関連する問題