我希望在应用程序启动时使用Spring ehCache将数据从数据库加载到缓存中,即在服务器启动之前调用任何其他方法。我不想使用构造函数。 请帮帮我。
答案 0 :(得分:3)
这正是BootstrapCacheLoader
将为您做的事情。
请查看以下documentation entry。
似乎这完全集成在Spring Ehcache桥中 - 请参阅here
简而言之,实现目标的步骤是:
BootstrapCacheLoader
,它将使用该集热切地加载所有条目,在缓存初始化时加载异步或同步。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。