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

问题描述

当使用 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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...