Spring IntTest从Atomikos获得“无法扩展连接池”

时间:2012-02-07 17:37:58

标签: spring atomikos

我有一个Spring应用程序,通常在WebLogic中运行良好。

我有一组使用Atomikos“Transaction Essentials”框架的集成测试来提供独立的事务管理器。我有这个工作,但我现在看到一个新问题,但我不知道我可能会改变什么会导致这种情况发生。

我看到堆栈跟踪开始如下:

  

org.springframework.jdbc.CannotGetJdbcConnectionException:无法获取JDBC连接;嵌套异常是com.atomikos.jdbc.AtomikosSQLException:无法增长连接池       在org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)

以下是相关的bean定义:

    <bean id="atomikosTransactionManager" class="com.atomikos.icatch.jta.UserTransactionManager"
      init-method="init" destroy-method="close">
    <!-- when close is called, should we force transactions to terminate or not? -->
    <property name="forceShutdown">
        <value>true</value>
    </property>
</bean>

<!-- Also use Atomikos UserTransactionImp, needed to configure Spring -->
<bean id="atomikosUserTransaction" class="com.atomikos.icatch.jta.UserTransactionImp">
    <property name="transactionTimeout">
        <value>300</value>
    </property>
</bean>

<!-- Configure the Spring framework to use JTA transactions from Atomikos -->
<bean id="catalogTransactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">
    <property name="transactionManager">
        <ref bean="atomikosTransactionManager" />
    </property>
    <property name="userTransaction">
        <ref bean="atomikosUserTransaction" />
    </property>
</bean>

我也有几个这样的:

    <bean id="appConfigDataSource"
    class="com.atomikos.jdbc.AtomikosDataSourceBean"
    p:uniqueResourceName="appConfigDataSource"
    p:xaDataSourceClassName="oracle.jdbc.xa.client.OracleXADataSource"
    p:poolSize="5">
    <property name="xaProperties">
        <props>
            <prop key="user">${ds.appconfig.userName}</prop>
            <prop key="password">${ds.appconfig.password}</prop>
            <prop key="URL">${ds.appconfig.url}</prop>
        </props>
    </property>
</bean>

我尝试将“5”更改为“50”。这使它运行时间更长,但它仍然失败并出现相同的错误。它甚至不需要5个甚至50个连接。我有一种强烈的感觉,如果我将它更改为更大的数字,它会运行更长时间,并且仍会因同样的错误而失败。

我可能会遗失什么?

1 个答案:

答案 0 :(得分:4)

没关系。这是一个简单的问题。我忘了我的测试数据库的主机名已经改变了一段时间,我忘了更改属性值。