使用ODATA查询缓存Teiid Virtual DB的问题

时间:2015-05-07 08:57:22

标签: jboss odata teiid

我有一个业务场景,每当新记录加载到数据库表中时,     a)通知将发送给客户。通知消息是传送数据已加载并准备好进行查询。    b)收到通知后,客户端将向JBOSS vitrual DB发出OData查询。 Odata由Teiid VDB支持

问题在于:在ODATA查询响应中未返回的新记录(通过手动/自动SL脚本插入)。它总是在前5分钟返回缓存结果。因为Odata的默认缓存时间设置为5分钟。

我们希望TEIID始终返回所有记录,包括新插入的记录。

我尝试了以下选项,但它没有按预期工作(https://developer.jboss.org/wiki/AHowToGuideForMaterializationcachingViewsInTeiid) 1)缓存提示 / * + cache(ttl:300000)* / select * from Source.UpdateProduct
2)选择NOCACH

****当我向DB进行JDBC查询时,这是有效的。

请建议如何在ODATA REST查询的情况下关闭此缓存?

1 个答案:

答案 0 :(得分:0)

我认为Teiid文档https://docs.jboss.org/author/display/TEIID/OData+Support可以提供帮助。 您没有指定您使用的Teiid版本,因此我附上了最新版本的文档。

现在,当您浏览文档页面时,底部有“配置”部分,其中有几个可配置选项。 skiptoken-cache-time选项不能满足您的需求吗?尝试将其设置为较低的值/零,看看这是否有帮助。只需找到odata war,打开它,然后更改WEB-INF / web.xml文件。