Problems in remote connection when returned packages are dropped
nicolyra May 12, 2014 4:04 AMHello all,
I just migrated JBoss servers from AS 5 to EAP 6 (6.2.1) and I detected, with my network administrator, some troubles in remote connections.
There are three servers : one server (serverA) can call remote EJBs on the two others (serverB and serverC).
ServerB and serverC contain the same ear with the same remote EJBs but, for the moment, I can't use cluster.
I described all the remote connections in the serverA standalone.xml and jboss-ejb-client.xml files as described below :
standalone.xml:
<remote-outbound-connection name="remote-ejb-connectionB" outbound-socket-binding-ref="outbound-ejb-connectionB" username="me" security-realm="my-realm">
<properties>
<property name="SASL_POLICY_NOANONYMOUS" value="false" />
<property name="SSL_ENABLED" value="false" />
</properties>
</remote-outbound-connection>
<remote-outbound-connection name="remote-ejb-connectionC" outbound-socket-binding-ref="outbound-ejb-connectionC" username="me" security-realm="my-realm">
<properties>
<property name="SASL_POLICY_NOANONYMOUS" value="false" />
<property name="SSL_ENABLED" value="false" />
</properties>
</remote-outbound-connection>
jboss-ejb-client.xml:
<ejb-receivers>
<remoting-ejb-receiver outbound-connection-ref="remote-ejb-connectionB" connect-timeout="3000" />
<remoting-ejb-receiver outbound-connection-ref="remote-ejb-connectionC" connect-timeout="3000"/>
</ejb-receivers>
When serverB and serverC are up : No problem.
When serverB is up and serverC is down : No problem.
But if one of this 2 servers is in an "intermediary state" (for example if the network administrator manually drops the packages sent by serverC to serverA or if he closes connections from serverA to serverC) : the application does not worked correctly!
Indeed, the remote calls from serverA to serverC are blocked.
I assume serverA tries to connect serverC to make the eligibleNode list but I would like to know if :
- it's possible to configure serverA to limit the "checking time" to many milli-seconds,
- if it's possible to only check serverC state if serverB is down or not gets the remote EJB called,
- other solution?
Optional question, if I use a cluster for serverB and serverC, and serverC is in an "intermediary state", the cluster will still works or not?
Thanks in advance.