[
https://issues.jboss.org/browse/WFLY-9282?page=com.atlassian.jira.plugin....
]
David Lloyd commented on WFLY-9282:
-----------------------------------
Per discussions, this may be fully resolved already. Let's see if we can close this
out.
UserTransaction should be lazy to allow node selection
(loadbalancing) even if the invocations stick to one node
----------------------------------------------------------------------------------------------------------------
Key: WFLY-9282
URL:
https://issues.jboss.org/browse/WFLY-9282
Project: WildFly
Issue Type: Enhancement
Components: EJB
Environment: Remote client EJB invocation
Reporter: Wolf-Dieter Fink
Assignee: David Lloyd
It should be possible to lookup a UserTransaction from a node or a cluster and call
.begin() with starting the Transaction lazy until the first EJB invocation.
The invocation will implicit begin the transaction and all invocation are sticky to that
node.
This is to spread the load across several server instances if there is no running
transaction but keep the transaction sticky to the first selected node.
It prevents from a strong affinity to one instance via URI affinity or the necessity to
define the node for the UserTransaction upfront.
The sticiness is because of issues with persistence like JPA as here the server is not
really 'stateless' as the session of EntityManager can decide to not flush the
changed data to the underlying database which can cause issues if the transaction will
continued on a different instance if the client invoke EJB's multiple times.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)