在openJPA 2.4中,如果我设置:
<property name="openjpa.QueryCache" value="true"/>
但是没有设置openjpa.RemoteCommitProvider
属性,我收到以下错误:
org.apache.openjpa.util.UserException:您试图使用RemoteCommitListener而不指定RemoteCommitProvider。要使用远程提交侦听器,必须配置远程提交提供程序以通过openjpa.RemoteCommitProvider配置属性使用。
此配置曾用于openJPA 1.X
有没有人知道QueryCache是否绝对需要openjpa.RemoteCommitProvider
,或者这看起来像openJPA中的错误?
该文档提到openjpa.RemoteCommitProvider
需要openjpa.DataCache
,但没有提及openjpa.QueryCache
答案 0 :(得分:0)
我认为您遇到的问题是配置问题很奇怪。据我所知,您必须启用QueryCache,而不是DataCache。如果不是这样,请忽略我的其余部分。
根据我的回忆,当您启用msgid
时,运行时会自动为您配置RemoteCommitProvider。使用DataCache / QueryCache时需要RCP。在您的情况下,如果您只启用了QueryCache,则RCP不会自动配置。
为什么在没有DataCache的情况下配置QueryCache,我仍然在摸不着头脑?这是一个非常奇怪的用例,因为在此设置中,您不太可能拥有缓存命中,并且您需要支付不能帮助您的缓存价格。