0

我用谷歌搜索,发现很多文档和网页说我应该将 oracle.net.ns.SQLnetDef.TCP_CONNTIMEOUT_STR 设置为 3 秒。我无法找到一个具体如何做到这一点的例子。

它是我可以使用 -Doracle.net.ns.SQLnetDef.TCP_CONNTIMEOUT_STR=3 设置的系统级属性吗?属性文件?一个 Spring 配置示例?

我在类路径中有一个带有 ojdbc.jar 的普通 java 应用程序。使用 Spring xml 配置/连接 Bean。

<bean id="myDataSource" destroy-method="close"
    class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="${my.jdbc.driverClassName}" />
    <property name="url" value="${my.jdbc.url}" />

    <!-- cut -->
</bean>
4

2 回答 2

1

在基本数据源的套接字级别设置 oracle 连接超时

1) 使用最新的基本数据源 -> commons-dbcp-1.4.jar

2) 对于 jdbcdriver 版本 > 10.1.0.5

添加属性 <property name="connectionProperties" value="oracle.jdbc.ReadTimeout=20000"/>

或 jdbcdriver 版本 < 10.1.0.5

添加 <property name="connectionProperties" value="oracle.net.READ_TIMEOUT=20000"/>
于 2013-11-14T12:19:05.600 回答
0

尝试为 BasicDataSource bean 设置此属性:

<property name="connectionProperties" value="oracle.net.CONNECT_TIMEOUT=3000" />

参考: https ://forums.oracle.com/thread/867795 底部

于 2013-09-19T19:37:07.690 回答