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

时间:2018-08-08 06:23:26

标签: java spring hibernate hazelcast distributed-caching

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

由于我们的代码与缓存内容紧密结合,因此很难从代码中删除新实例的缓存配置。有没有办法告诉HazelcastSpringHibernate在我们存在配置的情况下不使用/填充缓存?

1 个答案:

答案 0 :(得分:2)

您应该能够使用Spring和Hibernate配置关闭缓存。如果是Spring Boot,可以通过在application-dev.properties中设置以下属性来实现:

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