Java - 分布式应用程序中的观察者/可观察者?

标签 java sockets observer-pattern

我想在分布式应用程序中实现观察者模式。 即应用程序实例中的数据库发生了一些事情,应该通过套接字向另一个实例发送通知,以便第二个实例将从数据库重新加载数据。 我应该使用:

a) java 中的观察者/可观察类

b) 基于事件的方法,例如在按下按钮时添加事件监听器,然后通过套接字发送通知

c)任何其他想法/选项

我想知道哪种方法是最佳的

附注我正在开发一个连接到 MySQL 数据库的 swing 应用程序。一切都在本地主机上(不用于生产目的)。

最佳答案

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

关于Java - 分布式应用程序中的观察者/可观察者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15314873/

相关文章:

jquery - 在 jQuery 中使用观察者模式时如何防止自定义事件处理程序的多次调用

java - 哪种策略更适合验证 csv 行?

java - 下载一些东西到appdata

c++ - Boost - 在服务器关闭套接字上为新客户端 fork

sockets - Angular2 e2e测试用例,带有 Protractor 抛出错误

Python UDP 套接字端口随机,尽管分配

Java 监听器方法参数

java - ANTLR 语法中的歧义

Java观察者和可观察者

java - 实现 java.util.Observer 的类中的所有静态成员?