在启动时加载数据并在关闭时保存

时间:2017-02-08 01:51:17

标签: java database spring caching

请建议使用Spring / Java执行此操作的最佳方法是什么:

  • 在启动时将数据从DB加载到数据结构(HashMap)
  • 在应用程序生命周期内更新此内存
  • 每隔x分钟用内存中的数据更新数据库
  • 关闭服务器时,使用内存中的数据更新数据库

1 个答案:

答案 0 :(得分:0)

对于初始化部分,您可以在初始化方法上使用init方法标记或@PostConstruct注释。

对于关闭,您可以在关机方法上使用@PreDestroy注释。

对于常规更新,您可以使用@Scheduled注释。

对于包含数据的变量,值得使用ConcurrentHashMap,因此它不会成为瓶颈。

 @PostConstruct
 public void init() {
       // load the data
 }
 ...
 @PreDestroy
 @Scheduled(fixedRate = 60L * 1000L)
 public void writeCached() {
     // update data to database
 }