我正在使用Java& amp; MySQL数据库,该应用程序是在网络环境中工作的桌面应用程序。 应用程序具有一些在启动应用程序时从数据库加载的静态内容。 如果超级用户对某些变量进行了一些更改,我需要强制网络用户重新启动应用程序,以便他们可以加载新变量。
我需要使用哪些想法或代码?
答案 0 :(得分:0)
我不知道你真正需要做什么。但我通常做的是告诉用户更改只会在重新启动应用程序时生效。之后,用户负责重新启动应用程序。 如果您想自动执行此操作,只需在更改后更新数据即可刷新
答案 1 :(得分:0)
该用例有很多解决方案。我会为你的对象设置一个时间戳。当管理员更改该对象时,时间戳将在服务器端更新为当前日期。在将对象传递给客户端之后,客户端必须将接收到的对象与当前在客户端使用的对象进行比较。如果时间戳不相等,则可以显示警告对话框。如果您拥有解决方案非常容易实现的架构......
答案 2 :(得分:0)
你可以实现这样的事情。
或许您可以在数据库中拥有“ConfigTable”,其中包含属性,值,到期时间。
因此,当管理员更新某个值时,网络中的其他应用程序可以汇集新值。
关于汇集方法,(我们没有足够的信息为您提供最佳解决方案),您可以尝试这样的方法。
带有ID,事件的通知表(事件是您知道的,可能是加载新图像等)
工作流
1)客户端每X秒从该表中汇集一次,使用ID>进行过滤。 lastNotificationId(需要保存在本地文件中) 2)客户端应用新事件。 3)客户端使用新的notificationId更新本地文件。
答案 3 :(得分:0)
为什么不将数据存储在可以覆盖值的容器中?这样您就不必重新启动应用程序,只需动态刷新数据。
通过这种方式,您可以重新定义MessageBundle
,Properties
或用于存储数据的任何容器对象的内容。