gpt4 book ai didi

java - EHCache 好像不起作用

转载 作者:行者123 更新时间:2023-12-02 00:55:28 24 4
gpt4 key购买 nike

我已经在 J​​ava 应用程序上设置了 ehcache,该应用程序使用 Spring 和 Hibernate。但是,当我运行 Junit 测试并打印统计信息时,缓存中似乎没有任何内容:

每个缓存上缓存管理器统计信息的输出:

COM.****.SERVICES.CLARITY.DOMAIN.ACTIONITEM.BYRESOURCEUNIQUENAME:获取缓存命中:0获取缓存未命中数:0获取对象计数:0

COM.****.SERVICES.CLARITY.DOMAIN.ACTIONITEM:获取缓存命中:0获取缓存未命中数:0获取对象计数:0

COM.****.服务.CLARITY.域.资源:获取缓存命中:0获取缓存未命中数:0获取对象计数:0

映射文件的内容(仅部分内容,太大而无法粘贴全部):

<class name="ActionItem" table="CAL_ACTION_ITEMS" mutable="false" lazy="false" >
<cache region="com.****.services.clarity.domain.ActionItem" usage="read-only" include="all" />

[...]

<query name="byResourceUniqueName" cacheable="true" cache-region="com.****.services.clarity.domain.ActionItem.byResourceUniqueName" read-only="true">
FROM ActionItem WHERE id IN (
SELECT DISTINCT actionItemId FROM ActionItemAssignee as aia WHERE assigneeId IN (
SELECT userId FROM Resource WHERE uniqueName = :uniqueName
)
)
ORDER BY dueDate
</query>

EHCACHE.XML 的内容:

<cache
name="com.****.services.clarity.domain.ActionItem"
maxElementsInMemory="2000" eternal="false" timeToIdleSeconds="0"
timeToLiveSeconds="600" overflowToDisk="false" />

<cache
name="com.****.services.clarity.domain.ActionItem.byResourceUniqueName"
maxElementsInMemory="2000" eternal="false" timeToIdleSeconds="0"
timeToLiveSeconds="60" overflowToDisk="false" />

<defaultCache maxElementsInMemory="200" eternal="false"
timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true"
memoryStoreEvictionPolicy="LRU" />

hibernate 配置:

    <property name="hibernateProperties">
<value>
hibernate.format_sql=true
hibernate.dialect=org.hibernate.dialect.OracleDialect
hibernate.cache.provider_class=net.sf.ehcache.hibernate.EhCacheProvider
hibernate.cache.use_query_cache=true
hibernate.show_sql=true
</value>
</property>
</bean>

关于如何填充缓存有什么想法吗?谢谢。

最佳答案

通常情况下,Hibernate 会自动将项目填充到缓存中。

我在您的配置中注意到的一件事是您没有启用统计信息。添加属性

hibernate.generate_statistics=true

查看 session 工厂的配置,看看输出中是否出现数字。

关于java - EHCache 好像不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/784787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com