0

基于这个问题(如何为 webapp 创建客户端通知服务或者我应该使用观察者模式?)我想知道。

我有一个完全实现的 DAO,它带有仅包含 getter 和 setter 方法的实体 bean。每个实体都映射到一个 EntityManager。

目前没有办法通知用户任何添加/删除/更新到持久存储(如数据库)的更改。

我想知道,我将如何实现发布-订阅模式(也称为观察者模式),这样我就不必扩展我当前的 DAO 架构。我不希望我的实体继承发布者,因为并非所有实体都可以更新。

如果有任何工具/框架/库可以用于我的情况,请告诉我。另外,我根本没有使用任何持久性框架(Hibernate 等框架),DAO 管理器和工厂完全是我从头开始编写的。

问候,

4

2 回答 2

1

我的第一个建议是在你的 DAO 中嵌入一个可观察的对象。然后你会让你的潜艇看这个物体​​(我过去做过类似的事情)。

我的另一个建议是您可以向数据库本身添加触发器。如果您的应用程序之外有任何东西可以更改您想要通知您的子的数据库,这将特别有用。

祝你好运。

于 2010-01-18T15:38:14.960 回答
1

我正在构建一个类似的概念......我不关心所有事件,并且在我们想要关心不同事件的项目中。因此,我们正在构建一种模式,其中所有 DAO 操作都提交给 DROOLS Fusion,并基于规则和一些时间推理,它通过通知架构通知侦听器。根据您的需要,架构可以是简单的侦听器、JMS 或电子邮件……随便什么。如果您没有标准,只需关心 DAO 事件的回调,然后让您的 DAO 插入、更新、删除操作将对象提交给侦听器或某种类型的 JMS 队列。

希望这很清楚...

保罗

于 2010-01-18T16:39:10.480 回答