Hibernate/JavaEE事件/消息传递机制

Hibernate/JavaEE事件/消息传递机制,hibernate,events,messaging,Hibernate,Events,Messaging,我有两份申请。一个是Java厚客户端Swing GUI,用于控制存储在数据库中的一些参数。另一个是JavaEE服务器端应用程序,它根据GUI设置的参数向客户端发送XML流 我希望服务器端应用程序在Swing GUI持续更改数据库后立即更新其状态。实现这一点的最佳方法是什么?让Swing GUI应用程序与服务器端应用程序对话(与db对话)如何: SwingGui -> ServerSideApp -> DB Clients <-> ServerSideApp <-&g

我有两份申请。一个是Java厚客户端Swing GUI,用于控制存储在数据库中的一些参数。另一个是JavaEE服务器端应用程序,它根据GUI设置的参数向客户端发送XML流


我希望服务器端应用程序在Swing GUI持续更改数据库后立即更新其状态。实现这一点的最佳方法是什么?

让Swing GUI应用程序与服务器端应用程序对话(与db对话)如何:

SwingGui -> ServerSideApp -> DB
Clients <-> ServerSideApp <-> DB
SwingGui->ServerSideApp->DB
客户端服务器端应用程序数据库

如果胖客户端直接更新数据库,则有两个选项:

  • 使用特定于数据库的事件通知。功能和技术因数据库而异
  • 让服务器端应用程序轮询数据库以查找更改
假设您的胖客户端通过服务器端应用程序更新数据库,则根据实际设计和实现,您有多个选项:

  • 您可以在域对象中实现,以便在重要域对象发生更改时随时通知服务器应用程序

  • 如果使用Hibernate,则可以使用

  • 您可以使用缓存解决方案,例如。(如果您需要事务语义,那么可能是。)

  • 您可以使用共享内存解决方案,如或


客户端将直接保存到数据库。我可以使用某种JMS消息通知服务器而不是轮询吗?必须有一些东西来启动JMS消息。您是否在询问Swing客户端是否可以启动JMS消息?当然,然后服务器应用程序可以接收消息。尽管不考虑JMS的使用(这只是一个可选的通信层),但我认为它仍然是相同的问题/答案。具体来说,谁/什么人将发起变更通知活动。感谢您的宝贵意见……也许我应该勾选错误的答案,或者为未回答的问题补充答案?谢谢你的建设性意见。