如何在应用程序启动时将数据从数据库加载到Ehcache

时间:2014-11-14 09:45:57

标签: spring ehcache

我希望在应用程序启动时使用Spring ehCache将数据从数据库加载到缓存中,即在服务器启动之前调用任何其他方法。我不想使用构造函数。 请帮帮我。

2 个答案:

答案 0 :(得分:3)

这正是BootstrapCacheLoader将为您做的事情。

请查看以下documentation entry

似乎这完全集成在Spring Ehcache桥中 - 请参阅here

简而言之,实现目标的步骤是:

  1. 确定如何知道在启动时需要加载的内容 - 这是您的一组密钥
  2. 实施您自己的BootstrapCacheLoader,它将使用该集热切地加载所有条目,在缓存初始化时加载异步或同步。
  3. 使用BootstrapCacheLoaderFactory通过XML(Ehcache)或直接(Spring)连接

答案 1 :(得分:3)

正如@LouisJacomet所提到的,你需要实现BootstrapCacheLoader,这个实现就是你的预加载。由于您使用的是Spring,因此您将创建一个已实现类的bean并调用EhCacheFactoryBean.setBootstrapCacheLoader,以便缓存工厂知道加载器。

这是一个完整实施的链接。 https://javaglobin.wordpress.com/2013/11/13/declarative-caching-with-spring/

查看 MyBootstrapCacheLoaderFactory ,并注意有一个名为ehCacheFactory的 EhCacheFactoryBean bean。