当前位置: 首页 > 知识库问答 >
问题:

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

师成弘
2023-03-14

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

共有2个答案

澹台庆
2023-03-14

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

这里有一个完整实现的链接。https://Java globin . WordPress . com/2013/11/13/declarative-caching-with-spring/

看看MyBootstrapCacheLoaderFactory,还要注意有一个EhCacheFactoryBean豆,叫做ehCacheFactory。

杨飞飙
2023-03-14

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

请查看以下文档条目。

这似乎完全集成在Spring Ehcache桥中-参见此处

简而言之,实现这一目标的步骤如下:

  1. 确定您将如何知道启动时需要加载什么-那是您的一组密钥
  2. 实现您自己的BootstrapCacheLoader,它将使用该集合在缓存初始化时急切地加载所有条目、异步或同步
  3. 通过XML(Ehcache)甚至直接(Spring)使用BootstrapCacheLoaderFactory将其连接起来
 类似资料:
  • 我想在应用程序启动时使用Spring ehCache将数据从数据库加载到缓存中,即在调用任何其他方法之前服务器启动时。我不想使用构造函数。请帮帮我。

  • 我正在尝试在Java服务器端应用程序中使用ehcache来缓存一些数据。如何在服务器启动时将一些初始数据加载到ehcache。应用程序是具有Spring和数据库连接的基于Web的应用程序。任何人都可以让我知道如何定期刷新这些缓存。 谢啦

  • 我想在我的Spring Boot应用程序启动时加载缓存中的数据。我知道在Ehcache2中使用BootstrapCacheLoader有一种集成的方法。如何在应用程序启动时将数据从数据库加载到Ehcache,但我在Ehcache3中没有看到这一点。我仍然可以在@postConstruct方法中手动完成。但我想知道是否有集成解决方案(Spring 5,Ehcache 3) 谢谢你。

  • 根据文档,来自的room实例应该保存的数据是persist。但还是迷路了。我的项目必须数据库 第一个数据库 @database(实体=[foodmodel::class],version=4,exportSchema=false)抽象类FoodDatabase:RoomDatabase(){ 第二数据库 抽象类MyFoodDatabase:RoomDatabase(){abstract val M

  • 我在开发环境中使用嵌入式MongoDB数据库。它在应用程序启动时设置为空。我想在设置Spring上下文时加载应用程序所需的初始数据。 Spring Data MongoDB中是否有方法指向将加载到数据库中的JSON文件(类似于hibernate中的import.sql(hibernate.hbm2ddl.import_文件)或NoSql单元中的@UsingDataSet)?

  • 我需要你在这个问题上给我建议,在一个spring boot应用程序中,我从数据库加载一些属性,比如(cron periods,email data),我需要在应用程序上下文中导出这些属性,以便用加载的数据来spring构建相应的beans。我怎么能这样做?