如何频繁地重新加载存储数据库信息的类?

时间:2013-05-10 09:28:35

标签: java database caching cache-control

我们有一个WebApplication,它在启动时从数据库中获取所有必需的信息并将其存储在Java映射中。

这些地图稍后会在应用程序中用于获取所需的信息。

但是在这种方法中,在重新启动应用程序之前,不会反映在数据库中进行的任何更新。

那么我们如何在Java中自动重新加载这些类/存储库?

提前致谢。

3 个答案:

答案 0 :(得分:0)

我所理解的是,您只需要重新加载类,因为您需要刷新在启动期间从数据库加载的数据。那不是真的吗?如果是,那么如果某些其他机制可以刷新您的数据,那么我认为您仍然不需要重新加载您的类。

尝试使用一些缓存机制。看看EhCache

正如其他人所指出的,你可以使用Quartz调度程序。但是等等......这也是另一个图书馆。

嗯,您也可以自己使用TimerTimerTask,否则。只需安排该任务重复执行,正如您在评论中指出的那样,您需要每小时加载一次。

答案 1 :(得分:0)

你可以在后台运行一些守护进程Thread,它实际上会在centain间隔中使用数据库来更新最新的数据。

此外,您可以使用标准缓存机制(如EhCache或Guava缓存)来实现此目的。

答案 2 :(得分:0)

您可以简单地使用Quartz来实现此目的。 您只需为它设置一个任务,它将为您处理定期更新。 我认为,Tutorial 2仅适合您:D

另一方面,您应该在配置Map对象上处理paralel访问/写入 - 处理线程安全!