【问题标题】:hazelcast-hibernate:caching is not happeninghazelcast-hibernate:缓存没有发生
【发布时间】:2014-08-17 14:12:34
【问题描述】:

我正在运行将休眠二级缓存配置为 hazelcast 的示例应用程序。 为了测试,我运行了 Junit 2 次,在第一次运行中,数据库查询被调用,数据库查询在第二次运行 Junit 时没有受到影响。

<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.use_minimal_puts">true</prop>
<prop key="hibernate.cache.hazelcast.use_lite_member">true</prop>
<prop key="hibernate.cache.region.factory_class">com.hazelcast.hibernate.HazelcastCacheRegionFactory</prop>

任何机构都可以告诉我们,我们是否需要在这方面进行任何配置。

【问题讨论】:

    标签: java hibernate caching hazelcast


    【解决方案1】:

    您确定会话工厂不会在两次连续的单元测试运行之间被丢弃吗?

    这实际上取决于您的单元测试配置,但理论上说您应该单独运行每个测试,因为不能保证它们以任何特定顺序运行。

    你可以在同一个单元测试中测试二级缓存,你需要确保测试不是@Transactional并且你可以@Transactional service/dao两次。

    在第一个事务中,它应该命中数据库,并将加载到一级和二级缓存中。

    在第二个中,您有一个新的 Session,但实体应该在二级缓存中可用。

    【讨论】:

    • 我正在并行运行 Junits 以使用 hazelcast 检查分布式缓存。我明确地在它们之间进行同步。
    猜你喜欢
    • 2016-03-24
    • 2014-09-11
    • 1970-01-01
    • 2017-01-28
    • 2021-10-07
    • 2020-07-22
    • 2016-04-18
    • 1970-01-01
    • 2021-01-20
    相关资源
    最近更新 更多