2013-03-09 55 views
1

我想在分布式应用程序中实现观察者模式。 即应用程序实例中的数据库发生了某种情况,并且应该通过套接字将通知发送给另一个实例,以使第二个实例将从数据库重新加载数据。 我应该使用:Java - 分布式应用程序中的Observer/Observable?

一)观察者/可观察类从Java

B)的基于事件的方法,有点像,按下按钮时,然后通过套接字

发送通知添加事件监听器

c)任何其他的想法/选项

我想知道这是最理想的方法

PS我在一个连接到MySQL数据库的swing应用程序工作。一切都在localhost上(不是为了生产目的)。

+1

你的平台是什么?你在使用应用程序服务器吗?你可以使用JMS服务器...? – 2013-03-09 19:26:38

+1

如果观察者和观察者位于两个不同的JVM中,并通过套接字进行通信,那么您打算如何将观察者添加到可观察者?最佳方法是使用类似JMS主题的东西。 – 2013-03-09 19:26:40

+0

@AmirPashazadeh只是增加了一些细节(P.S.段落) – NiCU 2013-03-09 19:57:24

回答

2

如果你绑定到Socket路由,我建议创建另一个Java App作为服务器和代理来管理连接流量。基本上,该应用程序创建一个ServerSocket并绑定到一个端口。然后,所有现有的JVM实例都可以与其建立客户端连接。基本上是一个小型客户端 - 服务器体系结构。当服务器接收到来自任何客户端的事件通知时,它可以将该消息重新广播给每个其他客户端。