0

質問 ( Web アプリケーション用のクライアント通知サービスを作成する方法、または Observer パターンを使用する必要がありますか? ) に基づいて、知りたいと思います。

getter と setter メソッドのみを含む Entity Bean を使用して完全に実装された DAO があります。各エンティティは EntityManager にマップされます。

現在、データベースなどの永続ストレージに追加/削除/更新された変更をユーザーに通知する方法はありません。

現在の DAO アーキテクチャを拡張する必要がないように、Publish-Subscribe パターン (オブザーバー パターンとも呼ばれます) をどのように実装するのか知りたいです。すべてのエンティティが更新可能であるとは限らないため、エンティティにパブリッシャーを継承させたくありません。

私の状況で使用できるツール/フレームワーク/ライブラリがある場合は、お知らせください。また、私は永続的なフレームワーク (Hibernate などのフレームワーク) をまったく使用していません。DAO マネージャーと Factory は、私がゼロから完全に作成しました。

よろしく、

4

2 に答える 2

1

最初の提案は、観測可能なオブジェクトを DAO に埋め込むことです。次に、潜水艦にこのオブジェクトを見てもらいます (私は過去に同様のことをしました)。

私が持っている他の提案は、データベース自体にトリガーを追加できるということです。これは、サブに通知したい DB を変更する可能性があるアプリの外部に何かがある場合に特に役立ちます。

幸運を。

于 2010-01-18T15:38:14.960 に答える
1

私は同様のコンセプトを構築しています... 私はすべてのイベントを気にするわけではなく、プロジェクト内ではさまざまなイベントを気にしたいと考えています。そのため、すべての DAO 操作が DROOLS Fusion に送信され、ルールと一時的な推論に基づいて、通知アーキテクチャを介してリスナーに通知されるパターンを構築しています。必要に応じて、アーキテクチャは単純なリスナー、JMS、電子メールなど、何でもかまいません。基準がない場合は、DAO イベントのコールバックだけを気にし、DAO の挿入、更新、削除操作でオブジェクトをリスナーまたは何らかのタイプの JMS キューに送信します。

それが明らかだったことを願っています...

ポール

于 2010-01-18T16:39:10.480 に答える