[jboss-remoting-commits] JBoss Remoting SVN: r5228 - remoting2/branches/2.x/docs/guide/en.
jboss-remoting-commits at lists.jboss.org
jboss-remoting-commits at lists.jboss.org
Fri May 15 00:38:40 EDT 2009
Author: ron.sigal at jboss.com
Date: 2009-05-15 00:38:40 -0400 (Fri, 15 May 2009)
New Revision: 5228
Modified:
remoting2/branches/2.x/docs/guide/en/chap9.xml
Log:
JBREM-1132: Added discussion about connection identity.
Modified: remoting2/branches/2.x/docs/guide/en/chap9.xml
===================================================================
--- remoting2/branches/2.x/docs/guide/en/chap9.xml 2009-05-15 03:36:50 UTC (rev 5227)
+++ remoting2/branches/2.x/docs/guide/en/chap9.xml 2009-05-15 04:38:40 UTC (rev 5228)
@@ -299,6 +299,49 @@
</orderedlist>
+ <para><emphasis role="bold">Note.</emphasis> As of release 2.5.2, an important
+ concept related to connection monitoring, <emphasis>connection identity</emphasis>,
+ is available. Suppose that leasing is enabled and that a client invoker
+ stops and is replaced by a new client invoker. If the
+ replacement occurs quickly, the server side <classname>Lease</classname> may never
+ miss a ping, in which there is no evidence that anything changed on the client side.
+ That is, the connection is still alive, as far as the server is concerned. That
+ semantics might be perfectly acceptable for some applications, but other
+ applications might interpret the same events as a connection failure followed by
+ a new connection. Remoting can be configured to treat a connection as being
+ defined by a client/server pair, which supports the second category of applications.
+ </para>
+
+ <para>More specifically, when configured to do so by setting the parameter
+ <code>org.jboss.remoting.Remoting.USE_CLIENT_CONNECTION_IDENTITY</code> (actual value
+ "useClientConnectionIdentity") to "true", Remoting identifies a connection with a
+ <classname>LeasePinger</classname>/<classname>Lease</classname> pair. A
+ <classname>Client</classname> participates in a connection when it is connected
+ by way of the new method</para>
+
+ <programlisting>public void connect(ConnectionListener listener, Map metadata) throws Exception;</programlisting>
+
+ <para>This method serves to connect the <classname>Client</classname> to the server
+ by way of a new or existing client invoker, and it also (1) registers the
+ <classname>ConnectionListener</classname> with the <classname>Client</classname>'s
+ new or exiting <classname>ConnectionValidator</classname> and (2) registers
+ the <classname>ConnectionValidator</classname> with the client invoker's
+ <classname>LeasePinger</classname>. Subsequently, if any
+ <classname>ConnectionValidator</classname> registered with that
+ <classname>LeasePinger</classname> detects a connection failure, it will
+ (if "stopLeaseOnFailure" is "true") stop the <classname>LeasePinger</classname>,
+ and the <classname>LeasePinger</classname> will cause each registered
+ <classname>ConnectionValidator</classname>s to notify each of its
+ registered <classname>ConnectionListener</classname>s of the connection failure.
+ Once the <classname>LeasePinger</classname> has been shut down and all of the
+ notifications have been made, the connection anchored by the
+ <classname>LeasePinger</classname> is defunct, and the
+ associated <classname>Client</classname>'s should be disconnected by a call
+ to <methodname>Client.disconnect()</methodname>. If such a <classname>Client</classname>
+ is reconnected by a call to <methodname>Client.connect()</methodname>, it
+ will be associated with a new <classname>LeasePinger</classname> and, therefore,
+ a new connection.</para>
+
<para><emphasis role="bold">TIE_TO_LEASE</emphasis> (actual value
"tieToLease") - specifies whether <classname>ConnectionValidator</classname>
should treat the failure of a related lease on the server side as a
@@ -311,5 +354,8 @@
<classname>org.jboss.remoting.LeasePinger</classname>, if any. The default
value is "true".</para>
+ <para><emphasis role="bold">org.jboss.remoting.Remoting.USE_CLIENT_CONNECTION_IDENTITY</emphasis>
+ (actual value "useClientConnectionIdentity") - tells Remoting to adhere to the
+ new "connection identity" semantics.</para>
</section>
</chapter>
\ No newline at end of file
More information about the jboss-remoting-commits
mailing list