📄 blockingmessenger.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--NewPage--><HTML><HEAD><TITLE>BlockingMessenger (Project JXTA J2SE)</TITLE><META NAME="keywords" CONTENT="net.jxta.impl.endpoint.BlockingMessenger class"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){ parent.document.title="BlockingMessenger (Project JXTA J2SE)";}</SCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><!-- ========= START OF TOP NAVBAR ======= --><A NAME="navbar_top"><!-- --></A><A HREF="#skip-navbar_top" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BlockingMessenger.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><a href='http://www.jxta.org' target='_blank'>Project JXTA</a></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../net/jxta/impl/endpoint/BasicMessenger.html" title="class in net.jxta.impl.endpoint"><B>PREV CLASS</B></A> <A HREF="../../../../net/jxta/impl/endpoint/CrossGroupMessenger.html" title="class in net.jxta.impl.endpoint"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A> <A HREF="BlockingMessenger.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--></SCRIPT><NOSCRIPT> <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_net.jxta.impl.endpoint.BasicMessenger">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_top"></A><!-- ========= END OF TOP NAVBAR ========= --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">net.jxta.impl.endpoint</FONT><BR>Class BlockingMessenger</H2><PRE>java.lang.Object <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../../net/jxta/impl/endpoint/BasicMessenger.html" title="class in net.jxta.impl.endpoint">net.jxta.impl.endpoint.BasicMessenger</A> <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>net.jxta.impl.endpoint.BlockingMessenger</B></PRE><DL><DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../net/jxta/endpoint/EndpointMessenger.html" title="interface in net.jxta.endpoint">EndpointMessenger</A>, <A HREF="../../../../net/jxta/endpoint/Messenger.html" title="interface in net.jxta.endpoint">Messenger</A></DD></DL><DL><DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../net/jxta/impl/endpoint/AdaptorBlockingMessenger.html" title="class in net.jxta.impl.endpoint">AdaptorBlockingMessenger</A>, <A HREF="../../../../net/jxta/impl/endpoint/cbjx/CbJxMessenger.html" title="class in net.jxta.impl.endpoint.cbjx">CbJxMessenger</A>, <A HREF="../../../../net/jxta/impl/endpoint/servlethttp/HttpClientMessenger.html" title="class in net.jxta.impl.endpoint.servlethttp">HttpClientMessenger</A>, <A HREF="../../../../net/jxta/impl/endpoint/servlethttp/HttpServletMessenger.html" title="class in net.jxta.impl.endpoint.servlethttp">HttpServletMessenger</A>, <A HREF="../../../../net/jxta/impl/endpoint/LoopbackMessenger.html" title="class in net.jxta.impl.endpoint">LoopbackMessenger</A>, <A HREF="../../../../net/jxta/impl/endpoint/relay/RelayServerClient.RelayMessenger.html" title="class in net.jxta.impl.endpoint.relay">RelayServerClient.RelayMessenger</A>, <A HREF="../../../../net/jxta/impl/endpoint/router/RouterMessenger.html" title="class in net.jxta.impl.endpoint.router">RouterMessenger</A>, <A HREF="../../../../net/jxta/impl/endpoint/tcp/TcpMessenger.html" title="class in net.jxta.impl.endpoint.tcp">TcpMessenger</A>, <A HREF="../../../../net/jxta/impl/endpoint/tls/TlsMessenger.html" title="class in net.jxta.impl.endpoint.tls">TlsMessenger</A></DD></DL><HR><DL><DT>public abstract class <B>BlockingMessenger</B><DT>extends <A HREF="../../../../net/jxta/impl/endpoint/BasicMessenger.html" title="class in net.jxta.impl.endpoint">BasicMessenger</A></DL><P>Provides convenient basic blocking messenger functionality. <p/>It implements a default listener style method on top of the abstract exception-throwing blocking method, plus all the silly details. It always claim to be a synchronous messenger; the implementation has to conform.<P><P><HR><P><!-- ======== NESTED CLASS SUMMARY ======== --><!-- =========== FIELD SUMMARY =========== --><A NAME="field_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Field Summary</B></FONT></TD></TR></TABLE> <A NAME="fields_inherited_from_class_net.jxta.impl.endpoint.BasicMessenger"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TD><B>Fields inherited from class net.jxta.impl.endpoint.<A HREF="../../../../net/jxta/impl/endpoint/BasicMessenger.html" title="class in net.jxta.impl.endpoint">BasicMessenger</A></B></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><A HREF="../../../../net/jxta/impl/endpoint/BasicMessenger.html#closed">closed</A>, <A HREF="../../../../net/jxta/impl/endpoint/BasicMessenger.html#dstAddress">dstAddress</A>, <A HREF="../../../../net/jxta/impl/endpoint/BasicMessenger.html#propertyChangeSupport">propertyChangeSupport</A></CODE></TD></TR></TABLE> <!-- ======== CONSTRUCTOR SUMMARY ======== --><A NAME="constructor_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Constructor Summary</B></FONT></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><B><A HREF="../../../../net/jxta/impl/endpoint/BlockingMessenger.html#BlockingMessenger(net.jxta.endpoint.EndpointAddress)">BlockingMessenger</A></B>(<A HREF="../../../../net/jxta/endpoint/EndpointAddress.html" title="class in net.jxta.endpoint">EndpointAddress</A> dest)</CODE><BR> Create a new blocking messenger.</TD></TR></TABLE> <!-- ========== METHOD SUMMARY =========== --><A NAME="method_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Method Summary</B></FONT></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> boolean</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/endpoint/BlockingMessenger.html#isSynchronous()">isSynchronous</A></B>()</CODE><BR> Returns <code>true</code> if the <code>sendMessage</code> methods of this messenger are fully synchronous. If this messenger is syncrhonous then it should be understood that <code>sendMessage</code> methods may : <p/><ul> <li>Not return until the message is fully sent.</li> <li>Block if another message is in the process of being sent.</li> </ul> <p/>If either of these conditions can occur then this method will return <code>true</code>. <p/>Always synchronous.</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/BlockingMessenger.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 destService, java.lang.String destServiceParam, <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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -