我们有一个WebApplication,它在启动时从数据库中获取所有必需的信息并将其存储在Java映射中。
这些地图稍后会在应用程序中用于获取所需的信息。
但是在这种方法中,在重新启动应用程序之前,不会反映在数据库中进行的任何更新。
那么我们如何在Java中自动重新加载这些类/存储库?
提前致谢。
答案 0 :(得分:0)
我所理解的是,您只需要重新加载类,因为您需要刷新在启动期间从数据库加载的数据。那不是真的吗?如果是,那么如果某些其他机制可以刷新您的数据,那么我认为您仍然不需要重新加载您的类。
尝试使用一些缓存机制。看看EhCache。
正如其他人所指出的,你可以使用Quartz调度程序。但是等等......这也是另一个图书馆。
嗯,您也可以自己使用Timer和TimerTask,否则。只需安排该任务重复执行,正如您在评论中指出的那样,您需要每小时加载一次。
答案 1 :(得分:0)
你可以在后台运行一些守护进程Thread
,它实际上会在centain间隔中使用数据库来更新最新的数据。
此外,您可以使用标准缓存机制(如EhCache或Guava缓存)来实现此目的。
答案 2 :(得分:0)
您可以简单地使用Quartz来实现此目的。 您只需为它设置一个任务,它将为您处理定期更新。 我认为,Tutorial 2仅适合您:D
另一方面,您应该在配置Map对象上处理paralel访问/写入 - 处理线程安全!