如何在 spring DriverManagerDataSource 上设置超时

Grz*_*nio 6 java oracle spring jdbc

我们使用DriverManagerDataSourceSpring 框架(2.5 版)来汇集与 Oracle 的连接。然而,这些连接似乎没有定义任何超时——昨天,在紧急数据库重启后,我们有一个线程挂在数据库连接内的套接字读取上。如何设置超时,比如 10 分钟,以便下次引发异常?

Grz*_*nio 5

我最终通过以下方式更改了 Spring 上下文中的 bean:

<bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" autowire="no">
    <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
    <property name="connectionProperties">
        <props>
            <prop key="oracle.net.READ_TIMEOUT">60000</prop>
        </props>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

我不知道它是否还有效。