【问题标题】:Programmatic RedissonClient in Spring boot projectSpring引导项目中的程序化RedissonClient
【发布时间】:2022-08-15 20:08:39
【问题描述】:

我正在尝试使用 Redisson 在 Spring Boot 项目中实现 Hibernate 二级缓存。

我已关注此博客作为参考

https://pavankjadda.medium.com/implement-hibernate-2nd-level-cache-with-redis-spring-boot-and-spring-data-jpa-7cdbf5632883

我也试图以编程方式初始化 RedissionClient,而不是通过声明式/通过配置文件

创建了一个要初始化的 spring bean,它应该创建 RedissonClient 实例。

    @Configuration
@Lazy(value = false)
public class RedissonConfig {
    
    @Bean
    public RedissonClient redissionClient() {
        Config config = new Config();
        config.useSingleServer().setAddress(\"redis://127.0.0.1:6379\");
        return Redisson.create(config);
        
    }

}

但是,此 bean 从未初始化,并且在应用程序启动时出现以下错误。

Caused by: org.hibernate.cache.CacheException: Unable to locate Redisson configuration
at org.redisson.hibernate.RedissonRegionFactory.createRedissonClient(RedissonRegionFactory.java:107) ~[redisson-hibernate-53-3.12.1.jar:3.12.1]
at org.redisson.hibernate.RedissonRegionFactory.prepareForUse(RedissonRegionFactory.java:83) ~[redisson-hibernate-53-3.12.1.jar:3.12.1]

似乎 Spring boot Hibernate 仍在尝试通过配置文件加载 Redisson 配置。

是否可以通过编程方式在 Spring Boot 中加载 Redission 配置?

此致,

索拉夫

    标签: spring-boot hibernate redisson


    【解决方案1】:

    这是可能的,但是您需要向 Hibernate 提供 RegionFactory 的自定义实现,它可以扩展 RedissonRegionFactory 但使用您自己的客户端实例。

    【讨论】:

      猜你喜欢
      • 2020-07-05
      • 2018-09-11
      • 1970-01-01
      • 2020-08-20
      • 2015-11-25
      • 2017-05-06
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      相关资源
      最近更新 更多