2

通常、WebLogic で正常に動作する Spring アプリケーションがあります。

Atomikos の「Transaction Essentials」フレームワークを使用してスタンドアロンのトランザクション マネージャーを提供する一連の統合テストがあります。これは機能していましたが、新しい問題が発生しましたが、これを実現するために何を変更したのかわかりません。

次のように始まるスタック トレースが表示されます。

org.springframework.jdbc.CannotGetJdbcConnectionException: JDBC 接続を取得できませんでした。ネストされた例外は com.atomikos.jdbc.AtomikosSQLException: Failed to grow the connection pool at 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 の接続が必要になることさえありません。もっと大きな数値に変更すると、さらに長く実行され、同じエラーで失敗するのではないかと強く感じています。

何が欠けている可能性がありますか?

4

1 に答える 1

5

どうでも。簡単な問題でした。テスト データベースのホスト名が少し前に変更されたことを忘れており、プロパティ値を変更するのを忘れていました。

于 2012-02-08T18:23:20.043 に答える