我想在分布式应用程序中实现观察者模式。 即,数据库在应用程序实例中发生了某些事情,并且应该通过套接字将通知发送到另一个实例,以便第二个实例从db重新加载数据。 我应该使用:
a)来自java的观察者/可观察类
b)基于事件的方法,例如,在按下按钮时添加事件监听器,然后通过套接字发送通知c)任何其他想法/选项
我想知道哪种方法最优化
P.S。我正在使用连接到MySQL数据库的swing应用程序。一切都在localhost上(不用于生产目的)。
答案 0 :(得分:2)
如果您与Socket路由绑定,我建议您创建另一个Java App作为服务器和代理来管理连接流量。基本上,让App创建一个ServerSocket并绑定到一个端口。然后,所有现有JVM实例都可以与客户端建立连接。基本上是一个迷你客户端 - 服务器架构。当服务器从任何客户端接收事件通知时,它可以将消息重新广播给每个其他客户端。