[
https://issues.jboss.org/browse/AS7-3492?page=com.atlassian.jira.plugin.s...
]
jaikiran pai commented on AS7-3492:
-----------------------------------
This is now fixed in upstream.
Here's how we deal with this:
1) A LocalEJBReceiverPreferringDeploymentNodeSelector
https://github.com/jbossas/jboss-as/blob/master/ejb3/src/main/java/org/jb...
is in place on server side which selects a local receiver if there are multiple receivers
(including remote ones) which can handle an invocation on a bean in a deployment.
2) Once the cluster topology is returned to the local receiver, by the remote server
instances, the local receiver sets up necessary connection configuration within the EJB
client context so that it can be used for connection creation to remote nodes whenever
necessary.
3) As long as the local node has the target application deployed, the calls will be routed
to the local receiver.
4) Once the target application on the local node gets undeployed, any subsequent
invocations for that bean will be routed (i.e. failover) to the remote nodes to which
connection will be established using the information available from step#2.
All this is tested in
https://github.com/jbossas/jboss-as/blob/master/testsuite/integration/clu...
Failover of clustered bean invocations might not happen if the client
itself is a server instance and the client server had a local deployment handling the
invocation
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: AS7-3492
URL:
https://issues.jboss.org/browse/AS7-3492
Project: Application Server 7
Issue Type: Bug
Components: Clustering, EJB
Affects Versions: 7.1.0.CR1b
Reporter: jaikiran pai
Assignee: jaikiran pai
Fix For: 7.1.2.Final (EAP)
Currently, if a stateful bean is @Cluster(ed) and an invocation on it is done from within
the same server, invocations on that bean are always handled by the LocalEJBReceiver even
if the cluster has multiple others nodes hosting that stateful bean.
The LocalEjbReceiver currently receives the cluster topology but doesn't create
(remote) EJB receviers out of it for the client context. The missing piece is
configurations that need to be passed for creating the remote EJB receivers.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira