我可以将锁定模式设置为在Informix中等待 - JDBC - tomcat连接池吗?

时间:2017-10-11 00:20:53

标签: java informix

我正在运行一个带有Tomcat的Web应用程序 - 与Informix数据库的JDBC连接池。如何设置锁定模式等待?

3 个答案:

答案 0 :(得分:3)

您还可以使用'IFX_LOCK_MODE_WAIT'连接字符串属性设置默认锁定时间(对于数据源使用'ds.setIfxIFX_LOCK_MODE_WAIT()')

更多信息: https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.jdbc_pg.doc/ids_jdbc_034.htm

所以,对于tomcat,如果您的数据源看起来像:

<Context path="/jspdemo" docBase="jspdemo" debug="0" reloadable="true" crossContext="true">
  <Resource name="jdbc/jspdemo" auth="Container" type="javax.sql.DataSource" maxActive="20" 
    maxIdle="10" maxWait="1000" username="informix"  password="mypasswd" 
    driverClassName="com.informix.jdbc.IfxDriver" 
    url="jdbc:informix-sqli://mymachine:1526/stores_demo:INFORMIXSERVER=ol_myserver"/>
</Context>

只需使用:

<Context path="/jspdemo" docBase="jspdemo" debug="0" reloadable="true" crossContext="true">
  <Resource name="jdbc/jspdemo" auth="Container" type="javax.sql.DataSource" maxActive="20" 
    maxIdle="10" maxWait="1000" username="informix"  password="mypasswd" 
    driverClassName="com.informix.jdbc.IfxDriver" 
    url="jdbc:informix-sqli://mymachine:1526/stores_demo:INFORMIXSERVER=ol_myserver;IFX_LOCK_MODE_WAIT=60;/>
</Context>

答案 1 :(得分:0)

在我的环境中,从池中获取数据库连接后执行的第一个SQL是:

SET LOCK MODE TO WAIT 15

答案 2 :(得分:0)

&#34;如何通过JDBC连接&#34;

设置此值

根据之前的答案,将其作为连接属性传递或在连接开始时执行SQL。