我正在开发一个使用Java和MySQL数据库的应用程序,该应用程序是一个工作在网络环境中的桌面应用程序。应用程序具有一些在启动应用程序时从数据库加载的静态内容。如果超级用户对某些变量进行了一些更改,我需要强制网络用户重新启动应用程序,以便他们可以加载新的变量。
我需要使用什么想法或代码?
发布于 2013-03-01 21:47:08
你可以实现类似这样的东西。
Observer Pattern
或者你可以在你的数据库中有一个"ConfigTable“,带有属性,值,过期时间。
因此,当管理员更新一些值时,网络中的其他应用程序可以将新值汇集在一起。
Take a look to JGroups
关于池化方法(我们没有足够的信息为您提供最佳解决方案),您可以尝试这样的方法。
一个带有ID、事件的notification_table (事件是你知道的东西,可能会加载新的图像,等等)
工作流程
1)客户端池从该表中每X秒过滤一次,使用ID > lastNotificationId (需要保存在本地文件中)进行筛选2)客户端应用新事件。3)客户端使用新的notificationId更新本地文件。
发布于 2013-03-01 21:41:10
我不明白你到底需要做什么。但我通常做的是告诉用户,这些更改只有在应用程序重新启动时才会生效。之后,用户负责重新启动应用程序。如果您想自动执行此操作,则只需在数据发生更改时对其进行刷新
发布于 2013-03-01 21:45:07
对于这个用例,有很多解决方案。我会为你的对象设置一个时间戳。当管理员更改该对象时,服务器端的时间戳将更新为当前日期。在将对象交付给客户端之后,客户端必须将接收到的对象与客户端当前使用的对象进行比较。如果时间戳不相等,您可以显示一个警告对话框。如果你有一个架构,这个解决方案很容易实现...
https://stackoverflow.com/questions/15159099
复制相似问题