Java 如何减少超时以创建c3p0 ComboPooledDataSource并获得Oracle db连接?
我有一个相当简单的Hibernate项目,它连接到Oracle数据库 如果由于某种原因无法连接到Oracle(如网络关闭),则需要一分钟以上的时间才能失败。这在构建数据源时发生,在尝试与数据库交互时也会发生 我想更改设置,使其在几秒钟内失败。更改我认为相关的设置后,似乎没有任何变化好像我的配置被忽略了。 执行依赖项注入的Spring文件的相关部分,appContext.xml: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
<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
属性以及添加的依赖项,因为它们不会被使用