Timeout during commit in @Startup @Singleton after upgrading to Weblogic 12.2.1.2.0

We upgraded our environment to WLS12.2.1.2.0, coming from WLS12.1.1.0, and encountered a transaction problem in the method @Startupfor @Singletonbean.

The specified bean is deployed to the EAR, which publishes the message in the JMS queue for the transaction. This works when the target server is running, but the container fails to start:

Timeout during commit processing
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:281)
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:301)
at weblogic.transaction.internal.CoordinatorImpl_12212_WLStub.commit(Unknown Source)
at weblogic.transaction.internal.TransactionImpl$1.run(TransactionImpl.java:378)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:368)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:163)
at weblogic.transaction.internal.SecureAction.runAction(SecureAction.java:71)
at weblogic.transaction.internal.PlatformHelperImpl.runAction(PlatformHelperImpl.java:1493)
at weblogic.transaction.internal.TransactionImpl.commit(TransactionImpl.java:375)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:270)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:257)
at weblogic.ejb.container.manager.BaseEJBManager.handleLifecycleCallbackTx(BaseEJBManager.java:412)
at weblogic.ejb.container.manager.SingletonSessionManager.constructAndInitBean(SingletonSessionManager.java:301)
...
Caused by: javax.transaction.SystemException: Timeout during commit processing
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:340)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:257)
at weblogic.transaction.internal.CoordinatorImpl.commit(CoordinatorImpl.java:99)
at weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:645)
at weblogic.rmi.internal.BasicServerRef$2.run(BasicServerRef.java:534)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:368)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:163)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:531)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:138)
... 7 more

We were able to recreate this problem with a simple sample installation: a simple @Singletonbean with a method @Startupthat tries to use a transaction. However, the specification seems to indicate that the transaction’s behavior at startup should be possible, and the transaction will be fully completed as soon as the server completes the launch.

WLS12.2.1.2.0 ?

+4

Source: https://habr.com/ru/post/1668015/


All Articles