Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 如何在应用程序启动时将数据从数据库加载到Ehcache_Spring_Ehcache - Fatal编程技术网

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

Spring 如何在应用程序启动时将数据从数据库加载到Ehcache,spring,ehcache,Spring,Ehcache,我希望在应用程序启动时,即在调用任何其他方法之前,服务器启动时,使用SpringEhcache将数据从数据库加载到缓存中。我不想使用构造函数。 请帮帮我。这正是BootstrapCacheLoader为您所做的 请看以下内容 这似乎已完全集成到Spring Ehcache桥中-请参阅 简言之,实现这一目标的步骤有: 确定您将如何知道启动时需要加载的内容-这是您的密钥集 实现您自己的BootstrapCacheLoader,它将使用该集合在缓存初始化时加载所有条目,异步或同步 使用Bootstra

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

这正是
BootstrapCacheLoader
为您所做的

请看以下内容

这似乎已完全集成到Spring Ehcache桥中-请参阅

简言之,实现这一目标的步骤有:

  • 确定您将如何知道启动时需要加载的内容-这是您的密钥集
  • 实现您自己的
    BootstrapCacheLoader
    ,它将使用该集合在缓存初始化时加载所有条目,异步或同步
  • 使用
    BootstrapCacheLoaderFactory
    通过XML(Ehcache)甚至直接(Spring)连接它

  • 正如@LouisJacomet提到的,您需要实现这个实现,它将完成预加载。因为您使用的是Spring,所以您将创建一个实现类的bean并调用它,以便缓存工厂知道加载程序

    下面是一个完整实现的链接。


    请查看MyBootstrapCacheLoaderFactory,并注意有一个名为ehCacheFactory的EhCacheFactoryBeanbean。

    如何检查数据是否已从fram数据源复制到ehChache。缓存将存储在哪里?jvm内部?如何检查ehCache中存储了哪些数据。感谢@XaviLópez,我将详细介绍一下,javaglobin条目适用于Spring3.1,并且假设正在使用ehCache.xml文件。Spring4应该如何使用JavaConfig(因此没有ehcache.xml)实现?在我看来,
    EhCacheManagerFactoryBean
    在纯java配置的方法中几乎什么都不做。名称
    ehCacheFactory
    “特殊”吗?