Java 如何减少超时以创建c3p0 ComboPooledDataSource并获得Oracle db连接?

Java 如何减少超时以创建c3p0 ComboPooledDataSource并获得Oracle db连接?,java,spring,oracle,hibernate,maven,Java,Spring,Oracle,Hibernate,Maven,我有一个相当简单的Hibernate项目,它连接到Oracle数据库 如果由于某种原因无法连接到Oracle(如网络关闭),则需要一分钟以上的时间才能失败。这在构建数据源时发生,在尝试与数据库交互时也会发生 我想更改设置,使其在几秒钟内失败。更改我认为相关的设置后,似乎没有任何变化好像我的配置被忽略了。 执行依赖项注入的Spring文件的相关部分,appContext.xml: <bean id="oracleDataSource" class="com.mchange.v2.c3p0.C

我有一个相当简单的Hibernate项目,它连接到Oracle数据库

如果由于某种原因无法连接到Oracle(如网络关闭),则需要一分钟以上的时间才能失败。这在构建数据源时发生,在尝试与数据库交互时也会发生

我想更改设置,使其在几秒钟内失败。更改我认为相关的设置后,似乎没有任何变化好像我的配置被忽略了。

执行依赖项注入的Spring文件的相关部分,appContext.xml:

<bean id="oracleDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" 
    destroy-method="close">
    <property name="driverClass" value="oracle.jdbc.OracleDriver"/>
    <property name="jdbcUrl" value="jdbc:oracle:thin:@****"/>
    <property name="user" value="****"/>
    <property name="password" value="****"/>
</bean>

<bean id="oracleSessionFactory" 
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="oracleDataSource"/>
    <property name="configLocation">
        <value>classpath:oracle.hibernate.cfg.xml</value>
    </property>
</bean>

类路径:oracle.hibernate.cfg.xml
和我的hibernate配置文件:oracle.hibernate.cfg.xml:

<?xml version="1.0"?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
        <property name="hibernate.c3p0.max_size">1</property>
        <property name="hibernate.c3p0.checkoutTimeout">5000</property>
        <property name="hibernate.c3p0.acquireRetryAttempts">0</property>
        <property name="show_sql">true</property>
        <mapping class="****"/>
    </session-factory>
</hibernate-configuration>

org.hibernate.dialen.oracle10galent
1.
5000
0
真的
我听说这可能是由于类路径中没有hibernate-c3p0-version.jar造成的,所以这里是我测试的类路径设置

…下面是在我的Maven pom.xml中指定hibernate-c3p0-4.2.11.Final.jar的地方:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-c3p0</artifactId>
    <version>4.2.11.Final</version>
</dependency>

org.hibernate
hibernate-c3p0
4.2.11.最终版本

您正在配置中使用注入的
数据源。尝试将配置添加到hibernate不会有帮助,因为hibernate无法控制数据源。在配置的Spring上设置属性
ComboPooledDataSource

<bean id="oracleDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass" value="oracle.jdbc.OracleDriver"/>
    <property name="jdbcUrl" value="jdbc:oracle:thin:@****"/>
    <property name="user" value="****"/>
    <property name="password" value="****"/>
    <property name="acquireRetryAttempts" value="0"/>
    <property name="checkoutTimeout" value="5000"/>       
</bean>

从hibernate配置中删除
hibernate.c3p0
属性以及添加的依赖项,因为它们不会被使用