我正在使用 JBoss EAP 4.3。
当使用内置的 JBoss TreeCache 作为 Hibernate 的二级缓存时,我目前正在研究并发策略的不同选项。我已经设置了它,并且通过查看日志验证了缓存是否正常工作,但我不确定真正使用了什么并发策略以及它是如何工作的。
@Cache
对于每个实体,我可以在注释中设置以下“使用”值之一: NONE
, READ_ONLY
, NONSTRICT_READ_WRITE
, READ_WRITE
, TRANSACTIONAL
。
另一方面,在我的JBossTreeCache
配置文件中,我可以将IsolationLevel
整个缓存设置为以下之一:NONE
, READ_UNCOMMITTED
, READ_COMMITTED
, REPEATABLE_READ
, SERIALIZABLE
(或仅使用OPTIMISTIC
)。
一次查看一个配置选项时,文档非常清楚,但我想知道当您组合不同的选项时会发生什么。
例如,如果您@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL)
为实体设置但配置NONE
为IsolationLevel
,JBossTreecache
会发生什么?
我也相信JBossTreeCache
只支持NONE
,READ_ONLY
和TRANSACTIONAL
使用,但IsolationLevel
你可以将它们与什么结合起来?如果你使用例如会发生什么NONSTRICT_READ_WRITE
?
这里总共应该有 5x6 不同的组合,但并非所有组合都有意义..
谁能帮我解决这个问题?