如何使用 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
我想在使用 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