【发布时间】:2010-01-14 23:54:03
【问题描述】:
我有一个完全实现的 DAO,我所有的 bean 都继承了一个 Entity 对象。 现在,我想创建一个客户端通知系统,当用户在持久存储中创建/更新/删除实体时,通知会自动通过电子邮件发送给客户端。
我有一个 DAO 管理器,它使用工厂模式根据实体类型向我返回一个 DAO 管理器。
e.g EntityManager manager = EntityManagerFactory.createEntityManager(Product.class);
每个管理器都有一个 create()、remove()、update() 方法......
我的第一个想法是让我的所有实体管理器都继承一个 Observer 接口,并在函数调用(创建、删除、更新等)之后发送通知。
这是一个明智的想法吗?如果没有,我该怎么做才能向客户发送通知?
我正在运行 JBoss 5 或 Tomcat 6(或同时运行以方便部署)和 Apache Struts(虽然我不明白我提到它的原因)。
提前致谢。
【问题讨论】:
-
附言。我已经检查了这条评论 (stackoverflow.com/questions/2001073/…)。我应该让我的 DAO 线程安全吗?它基本上是我为客户创建的在线商店。
-
你使用什么持久化框架?
-
没有,我冒昧地编写了自己的 DAO,而不是使用像 Hibernate 这样的框架。
-
请注意,JPA(和 Hibernate)已内置
EntityListeners并带有回调方法。 -
我读过它。我可以将 Hibernate 的 EntityListener 集成到我的 DAO 中吗?
标签: java design-patterns dao observer-pattern