如何使用 string-keyed-jdbc-store 缓存设置查询超时

How to set query timeout using string-keyed-jdbc-store cache

我想在使用 java.sql.Statement 或 PreparedStatement 从数据存储中检索缓存对象时设置超时。

在文档中我找不到任何使用 xml 添加此设置的方法。

有人能给我指出正确的方向吗?

此致, 杰里米

ISPN:9.4.15.Final

这目前是不可能的。我创建了 https://issues.redhat.com/browse/ISPN-12825 和一个拉取请求。它应该在 Infinispan 12.1 中可用。

作为解决方法,我创建了一个 Byteman 脚本。设置 5 分钟超时。

# Rules to set a timeout on a Statement reference

RULE Timeout set during Connection.createStatement 
INTERFACE java.sql.Connection
METHOD createStatement
AT RETURN
IF TRUE
DO System.out.println("BYTEMAN:set 300s timeout during createStatement");$!.setQueryTimeout(300)
ENDRULE

RULE Timeout set during Connection.prepareCall
INTERFACE java.sql.Connection
METHOD prepareCall
AT RETURN
IF TRUE
DO System.out.println("BYTEMAN:set 300s timeout during prepareCall");$!.setQueryTimeout(300)
ENDRULE

RULE Timeout set during Connection.prepareStatement
INTERFACE java.sql.Connection
METHOD prepareStatement
AT RETURN
IF TRUE
DO System.out.println("BYTEMAN:set 300s timeout during prepareStatement");$!.setQueryTimeout(300)
ENDRULE