我正在使用 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 不同的组合,但并非所有组合都有意义..
谁能帮我解决这个问题?