如何关闭Apache Olingo OData 2.0缓存?

时间:2014-10-15 15:24:15

标签: tomcat caching odata olingo

如何关闭Apache Olingo 2.0缓存?

Web应用程序在Tomcat 7中运行并使用MySQL。它基于Apache Olingo OData JPA处理器构建。

当我更新数据库中的数据记录时,我可以通过这种请求正确找到此数据记录:“GET /interactive-riga-odata/webservices.svc/Statuss?$filter=(Updated%20gt%20datetime% 272014-10-15T12:25:44.054%27)HTTP / 1.1“

问题是,我正在缓存此数据记录的先前版本,即使在过滤请求期间它是基于新值选择的。

1 个答案:

答案 0 :(得分:1)

事实证明,必须禁用或清空EclipseLink ORM缓存。

禁用它可以通过在模型文件中添加注释,如下所示:

@Entity
@Cacheable(false)
public class Employee {

或者将其中一行放在persistance.xml文件中:

<property name="eclipselink.cache.shared.default" value="false"/>

<shared-cache-mode>NONE</shared-cache-mode>

如果尝试使用数据缓存创建解决方案,可以使用某些Web服务在数据库中进行一些更改后触发缓存失效(管理界面应用程序ping Web服务,让他们知道MySQL数据已更改)。