2016-09-07 16 views
0

私の会社のアプリケーションの1つがJMSを使用して同時呼び出しを行うことがわかりました。アプリはSpringで書かれたWebサービスです。これにより、多数の外部呼び出しが行われます。操作の要求が受信されると、JMSキューに多数のメッセージがポストされ、MDBがそのメッセージを処理します。アプリケーションは、すべての応答を照合し、データモデルにマップして応答を返します。以前はJMSを使って火災や電話を忘れていましたが、アプリケーションがJMSキューからの応答をどのように待っているか把握できません。それを行う方法があるかどうか説明してください。同時処理 - JMS

+0

「完全に完了しました」と言わざるを得ないように聞こえます。あなたはまだ火を使用して忘れることができますが、メッセージのストリームがいつ完了するかを知る必要があります。 "poison pill"/EOFタイプのデザインは、完全に非同期ではない非同期アーキテクチャでは一般的です。 – stdunbar

答えて

0

ビッキーは、これが行われている一つの方法は、ビジネス相関を使用しています。真の意味でのメッセージングは​​非同期です。しかし、「擬似同期」コールを使用することは可能です。これを行う方法は、要求をポストするときにIDを使用し、同じスレッド上で(同じIDを持つ)JMSMessageSelectorで応答をポーリングすることです。さらに、複数のバックエンドがある場合は、集約を行うこともできます。これは、メッセージにパーツIDを持ち、すべての「パーツが組み立てられているかどうかを確認するためのポーリングを行い、応答を集約して送信することによっても可能です。 JMS Message Selector。パターンの概要は、hereも記載されています。

+0

ありがとうRam !!!!! –

+0

投票した人は誰でも、私が答えをより良くすることができるように理由を付けてください。 –

+0

誰かが私の質問を下降して答えを承認しました。私はあなたの答えに間違いがないとは思わない。申し訳ありません。 –

関連する問題