📄 topicsubscriber.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--NewPage--><HTML><HEAD><!-- Generated by javadoc (build 1.4.2_02) on Thu Nov 13 17:20:40 PST 2003 --><TITLE>TopicSubscriber (Java 2 Platform Ent. Ed. v1.4)</TITLE><META NAME="keywords" CONTENT="javax.jms.TopicSubscriber interface"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){ parent.document.title="TopicSubscriber (Java 2 Platform Ent. Ed. v1.4)";}</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="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><b>Java<sup><font size=-2>TM</font></sup> 2 Platform<br>Ent. Ed. v1.4</b></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../javax/jms/TopicSession.html" title="interface in javax.jms"><B>PREV CLASS</B></A> <A HREF="../../javax/jms/XAConnection.html" title="interface in javax.jms"><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="TopicSubscriber.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 | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: FIELD | CONSTR | <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">javax.jms</FONT><BR>Interface TopicSubscriber</H2><DL><DT><B>All Superinterfaces:</B> <DD><A HREF="../../javax/jms/MessageConsumer.html" title="interface in javax.jms">MessageConsumer</A></DD></DL><HR><DL><DT>public interface <B>TopicSubscriber</B><DT>extends <A HREF="../../javax/jms/MessageConsumer.html" title="interface in javax.jms">MessageConsumer</A></DL><P>A client uses a <CODE>TopicSubscriber</CODE> object to receive messages that have been published to a topic. A <CODE>TopicSubscriber</CODE> object is the publish/subscribe form of a message consumer. A <CODE>MessageConsumer</CODE> can be created by using <CODE>Session.createConsumer</CODE>. <P>A <CODE>TopicSession</CODE> allows the creation of multiple <CODE>TopicSubscriber</CODE> objects per topic. It will deliver each message for a topic to each subscriber eligible to receive it. Each copy of the message is treated as a completely separate message. Work done on one copy has no effect on the others; acknowledging one does not acknowledge the others; one message may be delivered immediately, while another waits for its subscriber to process messages ahead of it. <P>Regular <CODE>TopicSubscriber</CODE> objects are not durable. They receive only messages that are published while they are active. <P>Messages filtered out by a subscriber's message selector will never be delivered to the subscriber. From the subscriber's perspective, they do not exist. <P>In some cases, a connection may both publish and subscribe to a topic. The subscriber <CODE>NoLocal</CODE> attribute allows a subscriber to inhibit the delivery of messages published by its own connection. <P>If a client needs to receive all the messages published on a topic, including the ones published while the subscriber is inactive, it uses a durable <CODE>TopicSubscriber</CODE>. The JMS provider retains a record of this durable subscription and insures that all messages from the topic's publishers are retained until they are acknowledged by this durable subscriber or they have expired. <P>Sessions with durable subscribers must always provide the same client identifier. In addition, each client must specify a name that uniquely identifies (within client identifier) each durable subscription it creates. Only one session at a time can have a <CODE>TopicSubscriber</CODE> for a particular durable subscription. <P>A client can change an existing durable subscription by creating a durable <CODE>TopicSubscriber</CODE> with the same name and a new topic and/or message selector. Changing a durable subscription is equivalent to unsubscribing (deleting) the old one and creating a new one. <P>The <CODE>unsubscribe</CODE> method is used to delete a durable subscription. The <CODE>unsubscribe</CODE> method can be used at the <CODE>Session</CODE> or <CODE>TopicSession</CODE> level. This method deletes the state being maintained on behalf of the subscriber by its provider. <P>Creating a <CODE>MessageConsumer</CODE> provides the same features as creating a <CODE>TopicSubscriber</CODE>. To create a durable subscriber, use of <CODE>Session.CreateDurableSubscriber</CODE> is recommended. The <CODE>TopicSubscriber</CODE> is provided to support existing code.<P><P><DL><DT><B>Version:</B></DT> <DD>1.1 - February 2, 2002</DD><DT><B>Author:</B></DT> <DD>Mark Hapner, Rich Burridge, Kate Stout</DD><DT><B>See Also:</B><DD><A HREF="../../javax/jms/Session.html#createConsumer(javax.jms.Destination)"><CODE>Session.createConsumer(javax.jms.Destination)</CODE></A>, <A HREF="../../javax/jms/Session.html#createDurableSubscriber(javax.jms.Topic, java.lang.String)"><CODE>Session.createDurableSubscriber(javax.jms.Topic, java.lang.String)</CODE></A>, <A HREF="../../javax/jms/TopicSession.html" title="interface in javax.jms"><CODE>TopicSession</CODE></A>, <A HREF="../../javax/jms/TopicSession.html#createSubscriber(javax.jms.Topic)"><CODE>TopicSession.createSubscriber(javax.jms.Topic)</CODE></A>, <A HREF="../../javax/jms/MessageConsumer.html" title="interface in javax.jms"><CODE>MessageConsumer</CODE></A></DL><HR><P><!-- ======== NESTED CLASS SUMMARY ======== --><!-- =========== FIELD SUMMARY =========== --><!-- ======== CONSTRUCTOR SUMMARY ======== --><!-- ========== 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="../../javax/jms/TopicSubscriber.html#getNoLocal()">getNoLocal</A></B>()</CODE><BR> Gets the <CODE>NoLocal</CODE> attribute for this subscriber. </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> <A HREF="../../javax/jms/Topic.html" title="interface in javax.jms">Topic</A></CODE></FONT></TD><TD><CODE><B><A HREF="../../javax/jms/TopicSubscriber.html#getTopic()">getTopic</A></B>()</CODE><BR> Gets the <CODE>Topic</CODE> associated with this subscriber.</TD></TR></TABLE> <A NAME="methods_inherited_from_class_javax.jms.MessageConsumer"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TD><B>Methods inherited from interface javax.jms.<A HREF="../../javax/jms/MessageConsumer.html" title="interface in javax.jms">MessageConsumer</A></B></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><A HREF="../../javax/jms/MessageConsumer.html#close()">close</A>, <A HREF="../../javax/jms/MessageConsumer.html#getMessageListener()">getMessageListener</A>, <A HREF="../../javax/jms/MessageConsumer.html#getMessageSelector()">getMessageSelector</A>, <A HREF="../../javax/jms/MessageConsumer.html#receive()">receive</A>, <A HREF="../../javax/jms/MessageConsumer.html#receive(long)">receive</A>, <A HREF="../../javax/jms/MessageConsumer.html#receiveNoWait()">receiveNoWait</A>, <A HREF="../../javax/jms/MessageConsumer.html#setMessageListener(javax.jms.MessageListener)">setMessageListener</A></CODE></TD></TR></TABLE> <P><!-- ============ FIELD DETAIL =========== --><!-- ========= CONSTRUCTOR DETAIL ======== --><!-- ============ 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="getTopic()"><!-- --></A><H3>getTopic</H3><PRE>public <A HREF="../../javax/jms/Topic.html" title="interface in javax.jms">Topic</A> <B>getTopic</B>() throws <A HREF="../../javax/jms/JMSException.html" title="class in javax.jms">JMSException</A></PRE><DL><DD>Gets the <CODE>Topic</CODE> associated with this subscriber.<P><DD><DL></DL></DD><DD><DL><DT><B>Returns:</B><DD>this subscriber's <CODE>Topic</CODE><DT><B>Throws:</B><DD><CODE><A HREF="../../javax/jms/JMSException.html" title="class in javax.jms">JMSException</A></CODE> - if the JMS provider fails to get the topic for this topic subscriber due to some internal error.</DL></DD></DL><HR><A NAME="getNoLocal()"><!-- --></A><H3>getNoLocal</H3><PRE>public boolean <B>getNoLocal</B>() throws <A HREF="../../javax/jms/JMSException.html" title="class in javax.jms">JMSException</A></PRE><DL><DD>Gets the <CODE>NoLocal</CODE> attribute for this subscriber. The default value for this attribute is false.<P><DD><DL></DL></DD><DD><DL><DT><B>Returns:</B><DD>true if locally published messages are being inhibited<DT><B>Throws:</B><DD><CODE><A HREF="../../javax/jms/JMSException.html" title="class in javax.jms">JMSException</A></CODE> - if the JMS provider fails to get the <CODE>NoLocal</CODE> attribute for this topic subscriber due to some internal error.</DL></DD></DL><!-- ========= END OF CLASS DATA ========= --><HR><!-- ======= START OF BOTTOM NAVBAR ====== --><A NAME="navbar_bottom"><!-- --></A><A HREF="#skip-navbar_bottom" 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_bottom_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="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><b>Java<sup><font size=-2>TM</font></sup> 2 Platform<br>Ent. Ed. v1.4</b></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../javax/jms/TopicSession.html" title="interface in javax.jms"><B>PREV CLASS</B></A> <A HREF="../../javax/jms/XAConnection.html" title="interface in javax.jms"><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="TopicSubscriber.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 | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_bottom"></A><!-- ======== END OF BOTTOM NAVBAR ======= --><HR><font size="-1"><a href="http://java.sun.com/webapps/bugreport">Submit a bug or feature</a> <p>Copyright 2003 Sun Microsystems, Inc. All rights reserved.</font></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -