我有以下配置
OS Sparc 11
OCSG 5.1
Environment : Cluster (Admin+MS), (MS)
Weblogic : 11g
问题:
我已经将旧环境(ocsg 5.1 windows)的现有跑步部署到我的新环境sparc 11 ocsg 5.1。我正面临以下问题
javax.ejb.EJBException: Transaction Rolledback.: weblogic.transaction.internal.TimedOutException: Transaction timed out after 32 seconds
BEA1-0009181AB1D7057B1ADE
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:1788)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(ServerTransactionManagerImpl.java:1676) at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1988)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManagerImpl.java:1586)
at weblogic.transaction.internal.WLSTimer.timerExpired(WLSTimer.java:35)
at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
nested exception is: weblogic.transaction.internal.TimedOutException: Transaction timed out after 32 seconds
BEA1-0009181AB1D7057B1ADE
at weblogic.ejb.container.internal.EJBRuntimeUtils.throwEJBException(EJBRuntimeUtils.java:156)
at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:595)
at weblogic.ejb.container.internal.BaseLocalObject.__WL_postInvokeTxRetry(BaseLocalObject.java:455)
at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:52)
at com.warid.es.vasactivation.VasManagerServer_82gq0g_VasManagerServerLocalImpl.getBalanceDate(Unknown Source)
Truncated. see log file for complete stacktrace
Caused By: weblogic.transaction.internal.TimedOutException: Transaction timed out after 32 seconds
BEA1-0009181AB1D7057B1ADE
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:1788)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(ServerTransactionManagerImpl.java:1676)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1988)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManagerImpl.java:1586)
at weblogic.transaction.internal.WLSTimer.timerExpired(WLSTimer.java:35)
Truncated. see log file for complete stacktrace
我在我的控制台上看到每个东西都处理得很好,但是没有响应被发送回客户端,导致连接超时问题。
答案 0 :(得分:5)
尝试增加域名的JTA超时:打开weblogic控制台,转到域名,服务,JTA;将'Timeout Seconds'从30改为3000。 在config.xml中,这应显示为:
<JTA
TimeoutSeconds="300"
/>
答案 1 :(得分:0)
另一个对我有用的解决方案,因为我无法更改Weblogic的全局配置,所以用@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
注释了我的方法。
您的JPA方法调用仍将在此方法内(经过测试)运行,并且值仍将持久保存到数据库中。