如何通知Java程序数据库的数据已更改

时间:2016-09-19 13:33:21

标签: java mysql

我创建了一个每30分钟一次的Java程序,从数据库中读取信息,并将它们保存在结构Vector<Vector<Object>>中。 为此,请使用ScheduledExecutorService

我创建了第二个Java程序,允许您从数据库中添加/修改/删除项目。如何通知第一个程序数据库中发生了一些更改,然后重新读取新信息而不等待30分钟?

第一个程序始终处于活动状态,而第二个程序仅在需要进行更改的情况下执行。

1 个答案:

答案 0 :(得分:1)

如果你只能从第二个java程序添加/修改/删除项目,你可以调用第一个程序的方法。

最简单的方法是从第一个程序中公开一个Web服务,每次修改数据库时都可以从第二个程序中调用它。

但是如果您也可以直接在数据库上修改数据库项,则需要在数据库上创建触发器并直接从数据库调用Web服务。请注意,第二种方法(直接在触发事件上调用ws)是一种不好的做法。在这种情况下,您可以组合这两个过程:如果从第二个Java程序发生修改,则直接调用ws,并使轮询处于活动状态,以便直接在数据库上完成修改。