2011-09-14 19 views
1

私はHibernate、Spring、Eclipse RCP(クライアント用)を使ってクライアント/サーバアプリケーションになるべきものを開発し始めています。最初からアプリケーションを設計しているのはこれが初めてのことなので、私は最初のステップを進めています。Spring Frameworkを使用してクライアントに変更を通知するにはどうすればよいですか?

私は、リモートでRMIを使用して、クライアントとサーバーの両方でSpringを設定しました(ただし、明確な利点があれば何かを使用しても構いません)。だから今、私はデータベースから情報を得るために、異なるクライアントからサーバーの公開されたサービスを呼び出すことができます。私が行っていないことは、あらゆる種類の認証を取得することです。したがって、基本的にサーバーは、それらについて何も知らなくても、異なるクライアントに応答します。セッションの概念はまだありません。もちろん、私は別のロールなどを持つためには別のユーザーが必要なので、これは変更する必要がありますが、私が直面している問題は、特定のことが起こったときにサーバーにクライアントに通知することです。

この問題を解決する私の考えは、サーバーでイベントのキューを持ち、クライアントに3秒ごとにそれらを取得させることでした。サーバは、セッショントークンによってクライアントを識別し、適切なイベントを送信します。しかし、このプロジェクトの私のパートナーは、この手法(ポーリング)があまりにも多くの帯域幅を無駄に無駄にするかもしれないと懸念しています。

これをポイントに持ってきてください。 Springが変更をクライアントに通知するための標準的な技術は何ですか?私はWebアプリケーションを開発していないことに注意してください。これはプライベートネットワークでのみ使用することを意図しています。それは、私が直面してきた困難の1つです。Springセキュリティやリモーティングに関するすべてのチュートリアルでは、Webアプリケーションを作成していると仮定していますが、一般的にSpring MVCやWebアプリケーションの詳細を忘れたくはありません。

いずれのリソースもありがとうございます。問題に関する良い、長いチュートリアルは素晴らしいでしょう。

編集:うーん、JMSが私が探しているものかもしれないようです。

答えて

1

私が理解しているように、あなたが直面している問題は、要求に応じてクライアントを特定し、異なるクライアントの要求、つまりセッションのようなものを関連付けることです。

春はRMI over HTTPプロトコル(Hessianと独自のHTTP Invokerを使用)もサポートしています。 thisリンク(第17.3節)をご覧ください。今度は、HTTPとしてトランスポートすると、固有の基本認証とセッションが利用され、直面している問題を回避することができます。

これは単なるポインタです。私は最終的にあなたの問題をどのように解決したか知りたいのです。

関連する問題