是否有提供发布/订阅模式的良好 Java 轻量级框架?
一些理想的特征
- 支持泛型
- 向发布者注册多个订阅者
- API 主要是接口和一些有用的实现
- 不需要纯粹的内存、持久性和事务保证。
我知道 JMS,但这对我的需要来说太过分了。发布/订阅的数据是文件系统扫描的结果,扫描结果被馈送到另一个组件进行处理,然后在被馈送到另一个组件之前对其进行处理,依此类推。
编辑:都在同一个过程中。bean 中的 PropertyChangeListener 并没有完全消除它,因为它报告属性的更改,而不是发布特定的项目。我可以通过拥有“最后发布的对象”属性以及发布的对象来强制 ProprtyChangeListener 工作。PropertyChangeListeners 不支持泛型,并且根深蒂固于属性更改语义,而不是纯粹的发布/订阅。java.util Observer/Observable 模式会很好,但 Oberver 是一个具体的类。