如何为 apache ignite 缓存设置查询超时?
How to set a query timeout for apache ignite cache?
我正在使用 TIBCO BusinessWorks 5.3。所以我们一般在SQLDirect/JDBC查询activity中提供查询超时时间。但是对于 Ignite 缓存来说,超时似乎不起作用。
它安装在 Linux 服务器上。我尝试在 cacheConfiguration 属性 节点下的配置 xml 中添加 setTimeout 属性。
我尝试了 2 种不同的配置
1.
<bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="cacheConfiguration">
<list>
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<!--some properties-->
<property name="setTimeout" value="60" />
</bean>
</list>
</property>
2.
<bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="cacheConfiguration">
<list>
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<!--some properties-->
</bean>
<bean class="org.apache.ignite.cache.query.SqlFieldsQuery">
<property name="setTimeout" value="60" />
</bean>
</list>
</property>
抛出错误信息如下-
org.springframework.beans.NotWritablePropertyException: Invalid
property setTimeout of bean class
[org.apache.ignite.configuration.CacheConfiguration]: Bean property
setTimeout is not writable or has an invalid setter method.
目前您可以使用 SqlQuery/SqlFieldsQuery API 为查询设置单独的超时:https://apacheignite-sql.readme.io/docs/query-cancellation
这是一个已知问题,没有为查询配置默认超时的选项,这里是 link 供您参考(一个月前有一个 PR 处于活动状态):https://issues.apache.org/jira/browse/IGNITE-7285
JDBC查询超时已实现,但尚未实现documented/released:https://issues.apache.org/jira/browse/IGNITE-5438
我正在使用 TIBCO BusinessWorks 5.3。所以我们一般在SQLDirect/JDBC查询activity中提供查询超时时间。但是对于 Ignite 缓存来说,超时似乎不起作用。
它安装在 Linux 服务器上。我尝试在 cacheConfiguration 属性 节点下的配置 xml 中添加 setTimeout 属性。
我尝试了 2 种不同的配置
1.
<bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="cacheConfiguration">
<list>
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<!--some properties-->
<property name="setTimeout" value="60" />
</bean>
</list>
</property>
2.
<bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="cacheConfiguration">
<list>
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<!--some properties-->
</bean>
<bean class="org.apache.ignite.cache.query.SqlFieldsQuery">
<property name="setTimeout" value="60" />
</bean>
</list>
</property>
抛出错误信息如下-
org.springframework.beans.NotWritablePropertyException: Invalid
property setTimeout of bean class
[org.apache.ignite.configuration.CacheConfiguration]: Bean property
setTimeout is not writable or has an invalid setter method.
目前您可以使用 SqlQuery/SqlFieldsQuery API 为查询设置单独的超时:https://apacheignite-sql.readme.io/docs/query-cancellation
这是一个已知问题,没有为查询配置默认超时的选项,这里是 link 供您参考(一个月前有一个 PR 处于活动状态):https://issues.apache.org/jira/browse/IGNITE-7285
JDBC查询超时已实现,但尚未实现documented/released:https://issues.apache.org/jira/browse/IGNITE-5438