Files
123123/doc-10.0.10/Docs2017/api/mgmt_api/javax/jms/TopicSubscriber.html
T
GizzlerandCursor 58b7826162 Add live TLS certificate probing and improve restart error handling.
Configure CertificateCheckUrl per container for curl-like TLS checks, classify Sonic permission errors, and extend setup wizard for container management.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 13:16:21 +02:00

322 lines
14 KiB
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.5.0_19) on Fri Aug 12 11:25:15 EDT 2011 -->
<TITLE>
TopicSubscriber (Management Application API)
</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 (Management Application API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="TopicSubscriber.html#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 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>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Sonic Management API</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="TopicSession.html" title="interface in javax.jms"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="TransactionInProgressException.html" title="class in javax.jms"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html@javax%252Fjms%252FTopicSubscriber.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TopicSubscriber.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<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:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="TopicSubscriber.html#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="TopicSubscriber.html#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="MessageConsumer.html" title="interface in javax.jms">MessageConsumer</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>TopicSubscriber</B><DT>extends <A HREF="MessageConsumer.html" title="interface in javax.jms">MessageConsumer</A></DL>
</PRE>
<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>See Also:</B><DD><A HREF="Session.html#createConsumer(javax.jms.Destination)"><CODE>Session.createConsumer(javax.jms.Destination)</CODE></A>,
<A HREF="Session.html#createDurableSubscriber(javax.jms.Topic, java.lang.String)"><CODE>Session.createDurableSubscriber(javax.jms.Topic, java.lang.String)</CODE></A>,
<A HREF="TopicSession.html" title="interface in javax.jms"><CODE>TopicSession</CODE></A>,
<A HREF="TopicSession.html#createSubscriber(javax.jms.Topic)"><CODE>TopicSession.createSubscriber(javax.jms.Topic)</CODE></A>,
<A HREF="MessageConsumer.html" title="interface in javax.jms"><CODE>MessageConsumer</CODE></A></DL>
<HR>
<P>
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="TopicSubscriber.html#getNoLocal()">getNoLocal</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;<A HREF="Topic.html" title="interface in javax.jms">Topic</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="TopicSubscriber.html#getTopic()">getTopic</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the <CODE>Topic</CODE> associated with this subscriber.</TD>
</TR>
</TABLE>
&nbsp;<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">
<TH ALIGN="left"><B>Methods inherited from interface javax.jms.<A HREF="MessageConsumer.html" title="interface in javax.jms">MessageConsumer</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="MessageConsumer.html#close()">close</A>, <A HREF="MessageConsumer.html#getMessageListener()">getMessageListener</A>, <A HREF="MessageConsumer.html#getMessageSelector()">getMessageSelector</A>, <A HREF="MessageConsumer.html#receive()">receive</A>, <A HREF="MessageConsumer.html#receive(long)">receive</A>, <A HREF="MessageConsumer.html#receiveNoWait()">receiveNoWait</A>, <A HREF="MessageConsumer.html#setMessageListener(javax.jms.MessageListener)">setMessageListener</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="getNoLocal()"><!-- --></A><H3>
getNoLocal</H3>
<PRE>
boolean <B>getNoLocal</B>()
throws <A HREF="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="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>
<HR>
<A NAME="getTopic()"><!-- --></A><H3>
getTopic</H3>
<PRE>
<A HREF="Topic.html" title="interface in javax.jms">Topic</A> <B>getTopic</B>()
throws <A HREF="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="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>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="TopicSubscriber.html#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 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>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Sonic Management API</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="TopicSession.html" title="interface in javax.jms"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="TransactionInProgressException.html" title="class in javax.jms"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html@javax%252Fjms%252FTopicSubscriber.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TopicSubscriber.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<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:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="TopicSubscriber.html#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="TopicSubscriber.html#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<font size="-1">Copyright &copy; 2001-2011
<a href="http://www.progress.com" target="_top"> Progress Software Corporation</a>. All Rights Reserved.
<br>HTML formatted on 12-Aug-2011.</font>
</BODY>
</HTML>