有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java这个案例我需要一个Web服务吗?多个客户端上的数据同步

我是这方面的新手,对我目前关于应用程序的web服务实现的想法有点困惑。我想将所有连接的客户端与MySQL数据库上的当前数据同步。我开始使用web服务作为协调目的,但我被卡住了

我试图实现它的方式是

web服务正在运行deamon来检查/侦听影响DB数据的CRUD操作。一旦发生CRUD操作,就需要通知所有连接的客户端,每个客户端依次用当前数据库数据刷新JTable,并将数据库上发生的更改通知用户

这就是我被困的地方

我的想法是(也许吧?)错误,因为概念上web服务正在等待客户端请求,然后向他发送相应的响应。但是在这里,没有客户机请求。web服务只发送一个响应(noification),该响应必须多播,因为它不知道有一个“正在调用”的客户机——没有请求

因此,为了让客户机发送请求,如果数据库发生更改,它必须始终“cron”web服务。然后web服务使用CRUD详细信息(CRUDEventFired(事件类型,事件详细信息))响应true或false。但是,这不是最优的,因为它会产生大量无用的流量(大部分时间),尤其是在没有发生CRUD操作的情况下。此外,将有两个不同的deamons(一个在web服务中,另一个在客户端应用程序中)检查/侦听相同类型的事件,这是多余的

而且,通过这种实现,似乎根本不需要web服务,检查DB更改的代码可以在客户机中实现。另一方面,设置负责DB更改的客户端需要在不同平台(桌面、ios、安卓等)中编写相同的功能,将web服务设置为客户端之间数据同步的协调器时,只需编写一次相应的函数,每个客户端只需实现自己的NotificationListener()

我使用web服务的想法是错误的吗?应该如何改变?我甚至需要使用web服务吗

为方便起见,谨附上我的图表

diagram


共 (0) 个答案