-
Bug
-
Resolution: Duplicate
-
Major
-
None
-
2.1.1.Final
-
None
When EJBClient invocations are made from a managed transaction context, the TransactionInterceptor creates XAResources to represent the servers to which the invocations will be sent. These XAResources are used to allow the client TransactionManager to send commit / rollback messages to the participants in the transaction based on the commit / rollback decision of the client transaction manager.
If an invocation is sent to a destination server (managed transaction context or not) and the EJBComponent is not available, a NoSuchEJBException will be returned to the client. This will automatically trigger a retry of the invocation on another available node. Note that this happens before the invocation returns to the caller - it is, in effect, transparent to the caller.
Such a retry in the context of a managed transaction context is not allowed, as there is not server side transaction context available on the node to which the retry is sent (i.e. server side transaction context for transactions is not replicated around the cluster).
Thus, for transactions in a managed context, retry must be disabled.
- blocks
-
WFLY-4853 Provide two cluster test case for EJBClient
-
- Closed
-
- duplicates
-
EJBCLIENT-137 EJBClient transactions don't play well with retry mechanism
-
- Open
-