WebLogic JTA Error
如果兩個不同domain下的WebLogic Server同名,在進行事務傳播的時候會出現以下問題:@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
When the transaction attibutes are Required on both sides,
I get the following error
javax.transaction.TransactionRolledbackException: Current server is the coordinator and transaction is not found. It was probably rolled back and forgotten already.
at weblogic.rjvm.ResponseImpl.unmarshalReturn(Respons eImpl.java:195)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(C lusterableRemoteRef.java:338)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(C lusterableRemoteRef.java:252)
When the transaction attibutes are Required on both sides,
I get the following error
javax.transaction.TransactionRolledbackException: Current server is the coordinator and transaction is not found. It was probably rolled back and forgotten already.
at weblogic.rjvm.ResponseImpl.unmarshalReturn(Respons eImpl.java:195)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(C lusterableRemoteRef.java:338)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(C lusterableRemoteRef.java:252)
修改為不同Server名,則運行正常。
具體原因,查找中。。。
====================
具體原因已經查明,參見了WebLogic的官方文檔《Programming WebLogic JTA Release 10.0》第35頁,關于跨Domain JTA事務的局限描述:
The domains and all participating resources must have unique names. That is, you cannot
have a JDBC data source, a server, or a domain with the same name as an object in another
domain or the domain itself.
have a JDBC data source, a server, or a domain with the same name as an object in another
domain or the domain itself.