[
https://jira.jboss.org/jira/browse/JBREM-1132?page=com.atlassian.jira.plu...
]
Ron Sigal commented on JBREM-1132:
----------------------------------
When configured to do so by setting the parameter
org.jboss.remoting.Remoting.USE_CLIENT_CONNECTION_IDENTITY (actual value
"useClientConnectionIdentity") to "true", Remoting identifies a
connection with a LeasePinger/Lease pair. A Client participates in a connection when it is
connected by way of the new method public void connect(ConnectionListener listener, Map
metadata) throws Exception; This method serves to connect the Client to the server by way
of a new or existing client invoker, and it also (1) registers the ConnectionListener with
the Client's new or exiting ConnectionValidator and (2) registers the
ConnectionValidator with the client invoker's LeasePinger. Subsequently, if any
ConnectionValidator registered with that LeasePinger detects a connection failure, it will
(if "stopLeaseOnFailure" is "true") stop the LeasePinger, and the
LeasePinger will cause each registered ConnectionValidators to notify each of its
registered ConnectionListeners of the connection failure. Once the LeasePinger has been
shut down and all of the notifications have been made, the connection anchored by the
LeasePinger is defunct, and the associated Client's should be disconnected by a call
to Client.disconnect(). If such a Client is reconnected by a call to Client.connect(), it
will be associated with a new LeasePinger and, therefore, a new connection.
CLONE [JBREM-1128] - Introduce connection identity concept
----------------------------------------------------------
Key: JBREM-1132
URL:
https://jira.jboss.org/jira/browse/JBREM-1132
Project: JBoss Remoting
Issue Type: Feature Request
Security Level: Public(Everyone can see)
Affects Versions: 2.5.1 (Flounder)
Reporter: Ron Sigal
Assignee: Ron Sigal
Priority: Critical
Fix For: 2.5.2 (Flounder)
Currently, a Remoting server can monitor the continued connection to a Remoting client
through the use of an org.jboss.remoting.LeasePinger / org.jboss.remoting.Lease pair. The
client side LeasePinger sends out pings to the server side Lease, and, as long as the
Lease receives timely pings, the connection is considered to be healthy. If a ping fails
to arrive, then the Lease informs any registered
org.jboss.remoting.ConnectionListener's about the connection failure.
Consider the case in which an org.jboss.remoting.Client crashes, restarts, and recreates
a LeasePinger in time for the new LeasePinger to satisfy its corresponding Lease. Then
the Lease considers the connection to be intact. Some applications, however, with
JBossMessaging being the prime example, might interpret this scenario as the failure and
replacement of a connection. Remoting has no way of reporting a failure in this case.
Remoting needs an optional behavior in which a connection is identified with a particular
LeasePinger / Lease pair. When a LeasePinger is replaced, then a new connection begins.
On the client side, the health of a connection can be reported by an
org.jboss.remoting.ConnectionValidator, which periodically sends a ping to the server and
reports a broken connection if it doesn't receive an answer within a configured
window. The ConnectionValidator needs to be able to recognize and report on connections
identifed by LeasePinger / Lease pairs.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira