在openJPA中,queryCache是​​否需要RemoteCommitProvider?

时间:2015-10-15 13:48:36

标签: caching persistence openjpa

在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

1 个答案:

答案 0 :(得分:0)

我认为您遇到的问题是配置问题很奇怪。据我所知,您必须启用QueryCache,而不是DataCache。如果不是这样,请忽略我的其余部分。

根据我的回忆,当您启用msgid时,运行时会自动为您配置RemoteCommitProvider。使用DataCache / QueryCache时需要RCP。在您的情况下,如果您只启用了QueryCache,则RCP不会自动配置。

为什么在没有DataCache的情况下配置QueryCache,我仍然在摸不着头脑?这是一个非常奇怪的用例,因为在此设置中,您不太可能拥有缓存命中,并且您需要支付不能帮助您的缓存价格。