2011-08-06 8 views
1

私たちのシステムでJMSを実装する正しいアプローチについては、いくらか明確にする必要があります。Hornetqの実装

現在、エンドユーザーのトランザクション目的で2つのJBossサーバーが負荷分散されており、トランザクションのさまざまなイベントに基づいて通知機能が拡張されています。それを動作させるには、hornetQをトランザクションJbossサーバーに組み込み、MDBを同じJBossサーバーに接続してリスンし、別のJBossサーバーを呼び出します。これには、送信するユーザーを分類するためのビジネスコードそのサーバーは適切なユーザーとXMPPサーバーを呼び出します。

ここでは、トランザクションJBossサーバーでMDB(イベントコンシューマー)を展開するのは良いアプローチです。または、MDBを通知の専用JBossサーバーに移動することです。より良いアプローチのためにいくつかのアイデアを投げてください。

よろしく、 Vairam

答えて

0

あなたの質問を理解するには少し混乱しています。トランザクションでMDBをどのように展開できますか?アプリケーションサーバーにMDBを展開します。

あなたの質問はあまり意味がありません。おそらくそれは言語の壁ですか?

+0

2つのJbossアプリケーションサーバーはトランザクション関連のリクエストを処理します。つまり、新しい予約を作成し、予約でアクションを編集して保存します。私たちは同じサーバにMDBを展開します.JMS要求が来たらMDBに、MDBは詳細を処理するために別のjBossサーバ(jb2)を呼び出します。 jb2またはjb2のトランザクションが失敗した場合、このシナリオはMDBトランザクション管理によって処理されます。この種の設定は実装するのが良いでしょうか。 – vairam

+0

MDBトランザクション管理のようなものはありません。 アプリケーション・サーバーにトランザクション・マネージャーがあります。 はまた、あなたが実際には別のJBossサーバーを呼び出すようなものはありません .... Nのものを意味することができたの 「別のJBossサーバーを呼び出します」しかし、あなたはどのように言わなかった... 言いました。別のサーバー上のEJBを呼び出すことができます。他のサーバーにメッセージを送信するなど... アプリケーション開発についていくつかの概念を収集する必要があるようです。 とにかく、トランザクションマネージャは、適切に設定した場合、複数のXAブランチを管理する必要があります。 –

+0

そうです、別のjbossでejbを呼び出します。 – vairam

2

私はここにあなたの質問が下手に書かれている先に言ったが、私は本当にあなたを助けるためにしようとしているとして...

ので、その代わりに、直接データベースを使用してのトランザクションを処理するMDBをデプロイするために、常に良い選択ですあなたはTXを非同期的に行うつもりです。

1つのMDBから別のアプリケーションサーバーにデータを送信すると、両方の操作を同じTXの一部として使用できるため、XAを使用してメッセージの処理を確認してから、メッセージ送信、別のEJB呼び出し、または別のDB操作)は、同じTXの一部として実行されます。

さらに詳しいヘルプが必要な場合は、正しい用語を使用していることを確認して質問を再編集してください。私はあなたが言語の壁を持っているとは思わない...あなたは間違った言葉を使っているだけです.HornetQをトランザクションに埋め込むことはできません。それは存在しないものです。

+0

Mr Clebertありがとうございました。 – vairam

+0

最初の質問を編集できますか?多分あなたを助けることができます –