我有一个Java应用程序,可以使用JDBC从Apache Derby数据库保存和检索数据。我希望在数据库中进行更改时更新每个用户的视图。
我尝试使用for-loop来每隔几秒轮询一次数据库,但是会按预期使用大量的处理器时间。我也听说过TimeTask和ScheduledExecutorService。我不确定它们是如何工作的,但我认为它们是for循环的更好的替代方案。但是,他们还必须检查数据库,我觉得不如数据库通知更改那么理想。
我读过数据库触发器,我认为这可能是最好的解决方案吗?但是,我发现apache derby的所有示例似乎只触发了数据库中的其他更改,而不是Java应用程序。
是否可以使用触发器在Java应用程序中执行方法?如果是这样,怎么样?或者还有另一种方法来解决我不知道的问题?