📄 crossgroupmessenger.html
字号:
and service parameter. <p/><b>WARNING:</b> The Message object should not be reused or modified until <code>sendMessage</code> has completed. Concurrent modification of a message while a messenger is sending the message will produce incorrect and unpredictable results. For asynchronous messengers this method provides no notification of message send completion thus the message should <b>never</b> be reused. It is reccommended that a clone of the message be provided to send message: <p/><code><pre> messenger.sendMessage( (Message) myMessage.clone() ); </pre></code> <p/>Error Handling: <ul> <li>Common Aspects: <ul> <li>An <CODE>IOException</CODE> means that the message was not sent and this messanger cannot be used to send subsequent messages. Instances of <CODE>RuntimeException</CODE> mean that the message was not sent, but retries may or may not be possible based upon the status returned by <A HREF="../../../../net/jxta/endpoint/Messenger.html#isClosed()"><CODE>Messenger.isClosed()</CODE></A>.</li> <li>A return result of <code>false</code> indicates that the message was not accepted to be sent. Usually this is due to local resource limits being reached. Attempts may be made to later resend the message, usually after waiting for congestion to clear.</li> </ul> </li> <li>Synchronous Messengers: <ul> <li>A return result of <code>true</code> indicates that the message was successfully sent. <b>It does not generally imply that the destination will successfully receive the message.</b></li> </ul> </li> <li>Asynchronous Messengers: <ul> <li>A return result of <code>true</code> indicates that the message was accepted to be sent. <b>It does not imply that the message will be sent or that the destination will receive the message.</b> There will be no notification of any errors in sending the message.</li> </ul></li> </ul></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/endpoint/CrossGroupMessenger.html#sendMessage(net.jxta.endpoint.Message, java.lang.String, java.lang.String, net.jxta.endpoint.OutgoingMessageEventListener)">sendMessage</A></B>(<A HREF="../../../../net/jxta/endpoint/Message.html" title="class in net.jxta.endpoint">Message</A> msg, java.lang.String service, java.lang.String serviceParam, <A HREF="../../../../net/jxta/endpoint/OutgoingMessageEventListener.html" title="interface in net.jxta.endpoint">OutgoingMessageEventListener</A> listener)</CODE><BR> Sends a message to the destination. The message will be sent to the location specified by the destination endpoint address. The destination address will be modified to include the provided optional service name and service parameter. <p/><b>WARNING:</b> The Message object should not be reused or modified until the sendMessage has completed. Concurrent modification of messages while a messenger is sending a message will produce incorrect and unpredictable results. Messages should either be cloned before sending or not modified until the sendMessage result is returned. <p/>Error Handling: <ul> <li>Common Aspects: <ul> <li>Instances of <CODE>RuntimeException</CODE> mean that the message was not sent, but retries may or may not be possible based upon the status returned by <A HREF="../../../../net/jxta/endpoint/Messenger.html#isClosed()"><CODE>Messenger.isClosed()</CODE></A>. </li> <li>Notification of the final state of the message will be returned via the optional <A HREF="../../../../net/jxta/endpoint/OutgoingMessageEventListener.html" title="interface in net.jxta.endpoint"><CODE>listener</CODE></A>.</li> </ul></li> <li>Synchronous Messengers: <ul> <li>The listener will always be called before <code>sendMessage</code> returns.</li> </ul> </li> </ul></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> java.lang.String</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/endpoint/CrossGroupMessenger.html#toString()">toString</A></B>()</CODE><BR> </TD></TR></TABLE> <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TD><B>Methods inherited from class java.lang.Object</B></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD></TR></TABLE> <A NAME="methods_inherited_from_class_net.jxta.endpoint.Messenger"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TD><B>Methods inherited from interface net.jxta.endpoint.<A HREF="../../../../net/jxta/endpoint/Messenger.html" title="interface in net.jxta.endpoint">Messenger</A></B></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><A HREF="../../../../net/jxta/endpoint/Messenger.html#equals(java.lang.Object)">equals</A>, <A HREF="../../../../net/jxta/endpoint/Messenger.html#hashCode()">hashCode</A></CODE></TD></TR></TABLE> <P><!-- ============ FIELD DETAIL =========== --><!-- ========= CONSTRUCTOR DETAIL ======== --><A NAME="constructor_detail"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=1><FONT SIZE="+2"><B>Constructor Detail</B></FONT></TD></TR></TABLE><A NAME="CrossGroupMessenger(net.jxta.endpoint.Messenger, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>CrossGroupMessenger</H3><PRE>public <B>CrossGroupMessenger</B>(<A HREF="../../../../net/jxta/endpoint/Messenger.html" title="interface in net.jxta.endpoint">Messenger</A> real, java.lang.String insertedService, java.lang.String origService, java.lang.String origServiceParam)</PRE><DL><DD>Create a new Cross Group Messenger<P></DL><!-- ============ METHOD DETAIL ========== --><A NAME="method_detail"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=1><FONT SIZE="+2"><B>Method Detail</B></FONT></TD></TR></TABLE><A NAME="toString()"><!-- --></A><H3>toString</H3><PRE>public java.lang.String <B>toString</B>()</PRE><DL><DD><P><DD><DL></DL></DD><DD><DL></DL></DD></DL><HR><A NAME="close()"><!-- --></A><H3>close</H3><PRE>public void <B>close</B>()</PRE><DL><DD>Close this messenger after processing any pending messages. Messengers which manage shared resources internally may ignore this operation. Specifically: <p/><code><pre> messenger.close(); closed = messenger.isClosed(); </pre></code> <p/><code>closed</code> may be <code>false</code>.<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jxta/endpoint/EndpointMessenger.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../../net/jxta/endpoint/EndpointMessenger.html" title="interface in net.jxta.endpoint">EndpointMessenger</A></CODE></DL></DD><DD><DL></DL></DD></DL><HR><A NAME="getDestinationAddress()"><!-- --></A><H3>getDestinationAddress</H3><PRE>public <A HREF="../../../../net/jxta/endpoint/EndpointAddress.html" title="class in net.jxta.endpoint">EndpointAddress</A> <B>getDestinationAddress</B>()</PRE><DL><DD>Returns the destination of this messenger. The returned EndpointAddress is a clone and can be freely used by the caller.<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jxta/endpoint/EndpointMessenger.html#getDestinationAddress()">getDestinationAddress</A></CODE> in interface <CODE><A HREF="../../../../net/jxta/endpoint/EndpointMessenger.html" title="interface in net.jxta.endpoint">EndpointMessenger</A></CODE></DL></DD><DD><DL><DT><B>Returns:</B><DD>EndpointAddress the destination address of this messenger<DT><B>See Also:</B><DD><A HREF="../../../../net/jxta/endpoint/Messenger.html#getLogicalDestinationAddress()"><CODE>Messenger.getLogicalDestinationAddress()</CODE></A></DL></DD></DL><HR><A NAME="getDestinationAddressObject()"><!-- --></A><H3>getDestinationAddressObject</H3><PRE>public <A HREF="../../../../net/jxta/endpoint/EndpointAddress.html" title="class in net.jxta.endpoint">EndpointAddress</A> <B>getDestinationAddressObject</B>()</PRE><DL><DD>Returns the internal EndpointAddress object of the destination of the user. Changing the content of the object may have unpredictable consequence on the behavior of the EndpointMessenger. This method is intended to be used for applications that requires to have weak or soft reference to an EndpointMessenger: the returned Endpoint Address object will be unreferenced when this messenger will finalize.<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jxta/endpoint/EndpointMessenger.html#getDestinationAddressObject()">getDestinationAddressObject</A></CODE> in interface <CODE><A HREF="../../../../net/jxta/endpoint/EndpointMessenger.html" title="interface in net.jxta.endpoint">EndpointMessenger</A></CODE></DL></DD><DD><DL><DT><B>Returns:</B><DD>EndpointAddress the destination address of this messenger<DT><B>See Also:</B><DD><CODE>#getLogicalDestinationAddressObject()</CODE></DL></DD></DL><HR><A NAME="getLogicalDestinationAddress()"><!-- --></A><H3>getLogicalDestinationAddress</H3><PRE>public <A HREF="../../../../net/jxta/endpoint/EndpointAddress.html" title="class in net.jxta.endpoint">EndpointAddress</A> <B>getLogicalDestinationAddress</B>()</PRE><DL><DD>Returns the logical destination of this messenger. This may be a different address than is returned by <A HREF="../../../../net/jxta/endpoint/EndpointMessenger.html#getDestinationAddress()"><CODE>getDestinationAddress</CODE></A> and refers to the entity which is located at the destination address. <p/>By analogy, a telephone number would be the destination address, and the owner of that telephone number would be the logical destination. Each logical destination may be known by one or more destination addresses.<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jxta/endpoint/Messenger.html#getLogicalDestinationAddress()">getLogicalDestinationAddress</A></CODE> in interface <CODE><A HREF="../../../../net/jxta/endpoint/Messenger.html" title="interface in net.jxta.endpoint">Messenger</A></CODE></DL></DD><DD><DL><DT><B>Returns:</B><DD>EndpointAddress the logical destination address of this messenger.<DT><B>See Also:</B><DD><A HREF="../../../../net/jxta/endpoint/EndpointMessenger.html#getDestinationAddress()"><CODE>EndpointMessenger.getDestinationAddress()</CODE></A></DL></DD></DL><HR><A NAME="isClosed()"><!-- --></A><H3>isClosed</H3><PRE>public boolean <B>isClosed</B>()</PRE><DL><DD>Returns <code>true</code> if this messenger is closed and no longer accepting messages to be sent. The messenger should be discarded.<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jxta/endpoint/Messenger.html#isClosed()">isClosed</A></CODE> in interface <CODE><A HREF="../../../../net/jxta/endpoint/Messenger.html" title="interface in net.jxta.endpoint">Messenger</A></CODE></DL></DD><DD><DL><DT><B>Returns:</B><DD><code>true</code> if this messenger is closed, otherwise <code>false</code>.</DL></DD></DL><HR><A NAME="isIdle()"><!-- --></A><H3>isIdle</H3><PRE>public boolean <B>isIdle</B>()</PRE><DL><DD>Returns <code>true</code> if this messenger is not currently sending any messages and the messenger has not been used for "a long time". Thus suggesting that closing it would be good. <p/>The definition of idleness is up to the implementing message transport, but is usually based upon the cost of re-opening a closed connection versus continued idleness.<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jxta/endpoint/Messenger.html#isIdle()">isIdle</A></CODE> in interface <CODE><A HREF="../../../../net/jxta/endpoint/Messenger.html" title="interface in net.jxta.endpoint">Messenger</A></CODE></DL></DD><DD><DL><DT><B>Returns:</B><DD><code>true</code> if the messenger is idle otherwise <code>false</code>.</DL></DD></DL><HR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -