2012-03-15 3 views
0

私は、アプリケーション全体を通してActiveMQを広く使用しています。これは典型的なクライアント/サーバーアプリケーションで、クライアントはサーバーの何かが変更されたときに動的に更新されるデータの表を表示します。現在、サーバーがデータ要求メッセージをサブスクライブし、クライアントは初期ロードトピック(data.clientのIPアドレス)とgeneric data.updatesトピックをサブスクライブしています。次に、サーバがデータ要求メッセージを受信すると、クライアント特有のトピック(data.ipアドレスのようなもの(このトピックはそのクライアントに固有のもの))に「すべてのデータ」の初期バーストを送信します。これを行うより良い方法はありますか? 「データ要求メッセージ」とクライアント特有のトピックを持つのはぎこちなく冗長に思えます。activemqでデータの初期ロードを行うより良い方法はありますか?

1つのアイデアは、クライアントがデータのようなトピックを初期化するために購読するときに、サーバーがアドバイザリトピックを購読することです。これにより、データ要求メッセージが取り除かれます。

"プライベートトピック"よりもクライアントにデータの初期読み込みを送信する方が良いでしょうか?

答えて

0

私はこれを、同期/非同期のいずれかのメッセージの要求/応答タイプにすることをお勧めします。

0

これはJMSを使用しません...レコードシステム(リレーショナルデータベースなど)から初期データを取得するためにRESTサービスを使用することを検討してください...次にJMSトピックを使用して更新イベントを追跡しますあなたが記述したように

関連する問題