パブリッシュ/サブスクライブ パターンを提供する Java 用の優れた軽量フレームワークはありますか?
いくつかの理想的な機能
- ジェネリックのサポート
- パブリッシャーへの複数のサブスクライバーの登録
- API は主にインターフェイスといくつかの便利な実装
- 純粋にインメモリ、永続性、およびトランザクションの保証は必要ありません。
私は JMS について知っていますが、それは私の必要性には過剰です。パブリッシュ/サブスクライブされたデータは、ファイル システムのスキャンの結果であり、スキャン結果は処理のために別のコンポーネントに供給され、別のコンポーネントに供給される前に処理されます。
編集:すべて同じプロセス内にあります。Bean からの PropertyChangeListener は、特定のアイテムを公開するのではなく、プロパティの変更を報告しているため、あまり役に立ちません。「最後に公開されたオブジェクト」プロパティを使用して、ProprtyChangeListener を機能させることができ、オブジェクトを公開しました。PropertyChangeListeners はジェネリックをサポートせず、純粋なパブリッシュ/サブスクライブではなく、プロパティ変更セマンティクスに定着しています。java.util Observer/Observable パターンが適していますが、Oberver は具象クラスです。