如何禁用 Spring/Hibernate/Hazelcast 联合缓存?

How to disable Spring/Hibernate/Hazelcast joint cache?

我们使用 Hazelcast 作为我们的 Hibernate 二级缓存管理器,我们在 Spring 上下文文件中对其进行了一些配置。我们的代码也由 Spring @Cacheable 注释(用于业务级缓存)进行检测,我们将其配置为使用 Hazelcast。问题是在开发环境中我们有多个数据库实例,有时我们应该在它们之间切换我们的应用程序。每次我们切换到另一个数据库时,我们还应该重新启动 Hazelcast 以填充新数据,这是一项非常烦人的工作 :(( 当我们需要在不同的数据库上运行多个应用程序实例时,这会更加烦人!所以我们还需要 Hazelcast!!

的多个实例

由于我们的代码与缓存内容紧密耦合,因此很难从新实例的代码中删除缓存配置。有什么方法可以告诉 HazelcastSpringHibernate 在我们的配置存在的情况下不 use/fill 缓存?

您应该能够使用 Spring 和 Hibernate 配置关闭缓存。在 Spring 引导的情况下,您可以通过在 application-dev.properties 中设置以下属性来完成:

spring.cache.type=NONE
spring.jpa.properties.hibernate.cache.use_second_level_cache=false