4

管理コンソールから JTA トランザクションのタイムアウトを変更し、300 に設定しました。変更した後でも、JTA トランザクションが予期せずロールバックされて (おそらくタイムアウトが原因で)、次のように表示されて失敗しました。

weblogic.transaction.RollbackException: Transaction timed out after 181 seconds`

変更 (タイムアウト値 300) がそのドメインに反映されたかどうかを確認するために、ドメインの下でチェックするconfig.xmlと、300 で反映されました。

私の質問は、トランザクションのタイムアウト値を更新する必要があり、サーバーを再起動する必要がある他の場所はありますか?

以下のサーバーからの例外の後の完全なスタック トレース:

原因: org.springframework.transaction.UnexpectedRollbackException: JTA トランザクションが予期せずロールバックされました (タイムアウトが原因の可能性があります)。ネストされた例外は weblogic.transaction.RollbackException: Transaction です
 180秒後にタイムアウト
BEA1-160A800A149091F72E5E
    org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1031) で
    org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit (AbstractPlatformTransactionManager.java:709) で
    org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678) で
    org.springframework.transaction.interceptor.TransactionAspectSupport.completeTransactionAfterThrowing (TransactionAspectSupport.java:359) で
    org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) で
    org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) で
    org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) で
    $Proxy103.saveRegistryData (不明なソース) で
    gov.cms.pqri.arch.submission.registry.bean.RegDataAccessManager.persistRegistry(RegDataAccessManager.java:54) で
    ... 14以上
原因: weblogic.transaction.RollbackException: 180 秒後にトランザクションがタイムアウトしました
BEA1-160A800A149091F72E5E
    weblogic.transaction.internal.TransactionImpl.throwRollbackException (TransactionImpl.java:1818) で
    weblogic.transaction.internal.ServerTransactionImpl.internalCommit (ServerTransactionImpl.java:333) で
    weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
    weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:281)
    org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)で
    ... 22以上
4

4 に答える 4

4

管理コンソールからサーバー -> 構成 -> チューニング (タブ) でスタック スレッドの最大時間を 300 に変更すると、更新されて正常に動作します。

于 2010-02-15T21:29:02.173 に答える
2

私もこの問題に遭遇し、同じことを解決しました。これはJTAトランザクションに関連しているため、スタックした最大スレッドのタイムアウトとともにJTAのタイムアウトも増やす必要があります。weblogicコンソールのホームからJTAをクリックし、JTAタイムアウトをから増やしてください30(by default) to 300

于 2011-11-23T17:14:51.530 に答える