问题描述
当使用 java.sql.Statement 或 PreparedStatement 从数据存储区检索缓存对象时,我想设置超时。
有人能指出我正确的方向吗?
问候, 杰里米
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