我可以将锁定模式设置为在 Informix - JDBC - tomcat 连接池中等待吗?
Can I set Lock mode to wait in Informix - JDBC - tomcat connection pooling?
我是 运行 一个 Web 应用程序,具有 Tomcat - JDBC 与 Informix 数据库的连接池。如何将锁定模式设置为等待?
在我的环境中,从池中获取数据库连接后执行的第一个 SQL 是:
SET LOCK MODE TO WAIT 15
您还可以使用 '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>
"How do I set this value via JDBC connection"
根据之前的回答,要么将其作为连接传递 属性,要么在连接开始时执行 SQL。
我是 运行 一个 Web 应用程序,具有 Tomcat - JDBC 与 Informix 数据库的连接池。如何将锁定模式设置为等待?
在我的环境中,从池中获取数据库连接后执行的第一个 SQL 是:
SET LOCK MODE TO WAIT 15
您还可以使用 '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>
"How do I set this value via JDBC connection"
根据之前的回答,要么将其作为连接传递 属性,要么在连接开始时执行 SQL。