Files
123123/doc-10.0.10/Docs2017/api/mgmt_api/javax/jms/TopicSession.html
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

607 lines
31 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>
TopicSession (Management Application API)
</TITLE>
<META NAME="keywords" CONTENT="javax.jms.TopicSession interface">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="TopicSession (Management Application API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="TopicSession.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="TopicRequestor.html" title="class in javax.jms"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="TopicSubscriber.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@javax%252Fjms%252FTopicSession.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TopicSession.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="TopicSession.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="TopicSession.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 TopicSession</H2>
<DL>
<DT><B>All Superinterfaces:</B> <DD>java.lang.Runnable, <A HREF="Session.html" title="interface in javax.jms">Session</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>TopicSession</B><DT>extends <A HREF="Session.html" title="interface in javax.jms">Session</A></DL>
</PRE>
<P>
A <CODE>TopicSession</CODE> object provides methods for creating
<CODE>TopicPublisher</CODE>, <CODE>TopicSubscriber</CODE>, and
<CODE>TemporaryTopic</CODE> objects. It also provides a method for
deleting its client's durable subscribers.
<P>A <CODE>TopicSession</CODE> is used for creating Pub/Sub specific
objects. In general, use the <CODE>Session</CODE> object, and
use <CODE>TopicSession</CODE> only to support
existing code. Using the <CODE>Session</CODE> object simplifies the
programming model, and allows transactions to be used across the two
messaging domains.
<P>A <CODE>TopicSession</CODE> cannot be used to create objects specific to the
point-to-point domain. The following methods inherit from
<CODE>Session</CODE>, but must throw an
<CODE>IllegalStateException</CODE>
if used from <CODE>TopicSession</CODE>:
<UL>
<LI><CODE>createBrowser</CODE>
<LI><CODE>createQueue</CODE>
<LI><CODE>createTemporaryQueue</CODE>
</UL>
<P>
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="Session.html" title="interface in javax.jms"><CODE>Session</CODE></A>,
<A HREF="Connection.html#createSession(boolean, int)"><CODE>Connection.createSession(boolean, int)</CODE></A>,
<A HREF="TopicConnection.html#createTopicSession(boolean, int)"><CODE>TopicConnection.createTopicSession(boolean, int)</CODE></A>,
<A HREF="XATopicSession.html#getTopicSession()"><CODE>XATopicSession.getTopicSession()</CODE></A></DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_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>Field Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_javax.jms.Session"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface javax.jms.<A HREF="Session.html" title="interface in javax.jms">Session</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="Session.html#AUTO_ACKNOWLEDGE">AUTO_ACKNOWLEDGE</A>, <A HREF="Session.html#CLIENT_ACKNOWLEDGE">CLIENT_ACKNOWLEDGE</A>, <A HREF="Session.html#DUPS_OK_ACKNOWLEDGE">DUPS_OK_ACKNOWLEDGE</A>, <A HREF="Session.html#SESSION_TRANSACTED">SESSION_TRANSACTED</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== 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;<A HREF="TopicSubscriber.html" title="interface in javax.jms">TopicSubscriber</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="TopicSession.html#createDurableSubscriber(javax.jms.Topic, java.lang.String)">createDurableSubscriber</A></B>(<A HREF="Topic.html" title="interface in javax.jms">Topic</A>&nbsp;topic,
java.lang.String&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a durable subscriber to the specified topic.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="TopicSubscriber.html" title="interface in javax.jms">TopicSubscriber</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="TopicSession.html#createDurableSubscriber(javax.jms.Topic, java.lang.String, java.lang.String, boolean)">createDurableSubscriber</A></B>(<A HREF="Topic.html" title="interface in javax.jms">Topic</A>&nbsp;topic,
java.lang.String&nbsp;name,
java.lang.String&nbsp;messageSelector,
boolean&nbsp;noLocal)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a durable subscriber to the specified topic, using a
message selector or specifying whether messages published by its
own connection should be delivered to it.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="TopicPublisher.html" title="interface in javax.jms">TopicPublisher</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="TopicSession.html#createPublisher(javax.jms.Topic)">createPublisher</A></B>(<A HREF="Topic.html" title="interface in javax.jms">Topic</A>&nbsp;topic)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a publisher for the specified topic.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="TopicSubscriber.html" title="interface in javax.jms">TopicSubscriber</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="TopicSession.html#createSubscriber(javax.jms.Topic)">createSubscriber</A></B>(<A HREF="Topic.html" title="interface in javax.jms">Topic</A>&nbsp;topic)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a nondurable subscriber to the specified topic.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="TopicSubscriber.html" title="interface in javax.jms">TopicSubscriber</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="TopicSession.html#createSubscriber(javax.jms.Topic, java.lang.String, boolean)">createSubscriber</A></B>(<A HREF="Topic.html" title="interface in javax.jms">Topic</A>&nbsp;topic,
java.lang.String&nbsp;messageSelector,
boolean&nbsp;noLocal)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a nondurable subscriber to the specified topic, using a
message selector or specifying whether messages published by its
own connection should be delivered to it.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="TemporaryTopic.html" title="interface in javax.jms">TemporaryTopic</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="TopicSession.html#createTemporaryTopic()">createTemporaryTopic</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a <CODE>TemporaryTopic</CODE> object.</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="TopicSession.html#createTopic(java.lang.String)">createTopic</A></B>(java.lang.String&nbsp;topicName)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a topic identity given a <CODE>Topic</CODE> name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="TopicSession.html#unsubscribe(java.lang.String)">unsubscribe</A></B>(java.lang.String&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unsubscribes a durable subscription that has been created by a client.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_javax.jms.Session"><!-- --></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="Session.html" title="interface in javax.jms">Session</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="Session.html#close()">close</A>, <A HREF="Session.html#commit()">commit</A>, <A HREF="Session.html#createBrowser(javax.jms.Queue)">createBrowser</A>, <A HREF="Session.html#createBrowser(javax.jms.Queue, java.lang.String)">createBrowser</A>, <A HREF="Session.html#createBytesMessage()">createBytesMessage</A>, <A HREF="Session.html#createConsumer(javax.jms.Destination)">createConsumer</A>, <A HREF="Session.html#createConsumer(javax.jms.Destination, java.lang.String)">createConsumer</A>, <A HREF="Session.html#createConsumer(javax.jms.Destination, java.lang.String, boolean)">createConsumer</A>, <A HREF="Session.html#createMapMessage()">createMapMessage</A>, <A HREF="Session.html#createMessage()">createMessage</A>, <A HREF="Session.html#createObjectMessage()">createObjectMessage</A>, <A HREF="Session.html#createObjectMessage(java.io.Serializable)">createObjectMessage</A>, <A HREF="Session.html#createProducer(javax.jms.Destination)">createProducer</A>, <A HREF="Session.html#createQueue(java.lang.String)">createQueue</A>, <A HREF="Session.html#createStreamMessage()">createStreamMessage</A>, <A HREF="Session.html#createTemporaryQueue()">createTemporaryQueue</A>, <A HREF="Session.html#createTextMessage()">createTextMessage</A>, <A HREF="Session.html#createTextMessage(java.lang.String)">createTextMessage</A>, <A HREF="Session.html#getAcknowledgeMode()">getAcknowledgeMode</A>, <A HREF="Session.html#getMessageListener()">getMessageListener</A>, <A HREF="Session.html#getTransacted()">getTransacted</A>, <A HREF="Session.html#recover()">recover</A>, <A HREF="Session.html#rollback()">rollback</A>, <A HREF="Session.html#run()">run</A>, <A HREF="Session.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="createDurableSubscriber(javax.jms.Topic, java.lang.String)"><!-- --></A><H3>
createDurableSubscriber</H3>
<PRE>
<A HREF="TopicSubscriber.html" title="interface in javax.jms">TopicSubscriber</A> <B>createDurableSubscriber</B>(<A HREF="Topic.html" title="interface in javax.jms">Topic</A>&nbsp;topic,
java.lang.String&nbsp;name)
throws <A HREF="JMSException.html" title="class in javax.jms">JMSException</A></PRE>
<DL>
<DD>Creates a durable subscriber to the specified topic.
<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 subscriber is equivalent to
unsubscribing (deleting) the old one and creating a new one.
<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.
The default value for this attribute is false.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="Session.html#createDurableSubscriber(javax.jms.Topic, java.lang.String)">createDurableSubscriber</A></CODE> in interface <CODE><A HREF="Session.html" title="interface in javax.jms">Session</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>topic</CODE> - the non-temporary <CODE>Topic</CODE> to subscribe to<DD><CODE>name</CODE> - the name used to identify this subscription
<DT><B>Throws:</B>
<DD><CODE><A HREF="JMSException.html" title="class in javax.jms">JMSException</A></CODE> - if the session fails to create a subscriber
due to some internal error.
<DD><CODE><A HREF="InvalidDestinationException.html" title="class in javax.jms">InvalidDestinationException</A></CODE> - if an invalid topic is specified.</DL>
</DD>
</DL>
<HR>
<A NAME="createDurableSubscriber(javax.jms.Topic, java.lang.String, java.lang.String, boolean)"><!-- --></A><H3>
createDurableSubscriber</H3>
<PRE>
<A HREF="TopicSubscriber.html" title="interface in javax.jms">TopicSubscriber</A> <B>createDurableSubscriber</B>(<A HREF="Topic.html" title="interface in javax.jms">Topic</A>&nbsp;topic,
java.lang.String&nbsp;name,
java.lang.String&nbsp;messageSelector,
boolean&nbsp;noLocal)
throws <A HREF="JMSException.html" title="class in javax.jms">JMSException</A></PRE>
<DL>
<DD>Creates a durable subscriber to the specified topic, using a
message selector or specifying whether messages published by its
own connection should be delivered to it.
<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 which
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.
An inactive durable subscriber is one that exists but
does not currently have a message consumer associated with it.
<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 subscriber is equivalent to
unsubscribing (deleting) the old one and creating a new one.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="Session.html#createDurableSubscriber(javax.jms.Topic, java.lang.String, java.lang.String, boolean)">createDurableSubscriber</A></CODE> in interface <CODE><A HREF="Session.html" title="interface in javax.jms">Session</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>topic</CODE> - the non-temporary <CODE>Topic</CODE> to subscribe to<DD><CODE>name</CODE> - the name used to identify this subscription<DD><CODE>messageSelector</CODE> - only messages with properties matching the
message selector expression are delivered. A value of null or
an empty string indicates that there is no message selector
for the message consumer.<DD><CODE>noLocal</CODE> - if set, inhibits the delivery of messages published
by its own connection
<DT><B>Throws:</B>
<DD><CODE><A HREF="JMSException.html" title="class in javax.jms">JMSException</A></CODE> - if the session fails to create a subscriber
due to some internal error.
<DD><CODE><A HREF="InvalidDestinationException.html" title="class in javax.jms">InvalidDestinationException</A></CODE> - if an invalid topic is specified.
<DD><CODE><A HREF="InvalidSelectorException.html" title="class in javax.jms">InvalidSelectorException</A></CODE> - if the message selector is invalid.</DL>
</DD>
</DL>
<HR>
<A NAME="createPublisher(javax.jms.Topic)"><!-- --></A><H3>
createPublisher</H3>
<PRE>
<A HREF="TopicPublisher.html" title="interface in javax.jms">TopicPublisher</A> <B>createPublisher</B>(<A HREF="Topic.html" title="interface in javax.jms">Topic</A>&nbsp;topic)
throws <A HREF="JMSException.html" title="class in javax.jms">JMSException</A></PRE>
<DL>
<DD>Creates a publisher for the specified topic.
<P>A client uses a <CODE>TopicPublisher</CODE> object to publish
messages on a topic.
Each time a client creates a <CODE>TopicPublisher</CODE> on a topic, it
defines a
new sequence of messages that have no ordering relationship with the
messages it has previously sent.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>topic</CODE> - the <CODE>Topic</CODE> to publish to, or null if this is an
unidentified producer
<DT><B>Throws:</B>
<DD><CODE><A HREF="JMSException.html" title="class in javax.jms">JMSException</A></CODE> - if the session fails to create a publisher
due to some internal error.
<DD><CODE><A HREF="InvalidDestinationException.html" title="class in javax.jms">InvalidDestinationException</A></CODE> - if an invalid topic is specified.</DL>
</DD>
</DL>
<HR>
<A NAME="createSubscriber(javax.jms.Topic)"><!-- --></A><H3>
createSubscriber</H3>
<PRE>
<A HREF="TopicSubscriber.html" title="interface in javax.jms">TopicSubscriber</A> <B>createSubscriber</B>(<A HREF="Topic.html" title="interface in javax.jms">Topic</A>&nbsp;topic)
throws <A HREF="JMSException.html" title="class in javax.jms">JMSException</A></PRE>
<DL>
<DD>Creates a nondurable subscriber to the specified topic.
<P>A client uses a <CODE>TopicSubscriber</CODE> object to receive
messages that have been published to a topic.
<P>Regular <CODE>TopicSubscriber</CODE> objects are not durable.
They receive only messages that are published while they are active.
<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.
The default value for this attribute is false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>topic</CODE> - the <CODE>Topic</CODE> to subscribe to
<DT><B>Throws:</B>
<DD><CODE><A HREF="JMSException.html" title="class in javax.jms">JMSException</A></CODE> - if the session fails to create a subscriber
due to some internal error.
<DD><CODE><A HREF="InvalidDestinationException.html" title="class in javax.jms">InvalidDestinationException</A></CODE> - if an invalid topic is specified.</DL>
</DD>
</DL>
<HR>
<A NAME="createSubscriber(javax.jms.Topic, java.lang.String, boolean)"><!-- --></A><H3>
createSubscriber</H3>
<PRE>
<A HREF="TopicSubscriber.html" title="interface in javax.jms">TopicSubscriber</A> <B>createSubscriber</B>(<A HREF="Topic.html" title="interface in javax.jms">Topic</A>&nbsp;topic,
java.lang.String&nbsp;messageSelector,
boolean&nbsp;noLocal)
throws <A HREF="JMSException.html" title="class in javax.jms">JMSException</A></PRE>
<DL>
<DD>Creates a nondurable subscriber to the specified topic, using a
message selector or specifying whether messages published by its
own connection should be delivered to it.
<P>A client uses a <CODE>TopicSubscriber</CODE> object to receive
messages that have been published to a topic.
<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.
The default value for this attribute is false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>topic</CODE> - the <CODE>Topic</CODE> to subscribe to<DD><CODE>messageSelector</CODE> - only messages with properties matching the
message selector expression are delivered. A value of null or
an empty string indicates that there is no message selector
for the message consumer.<DD><CODE>noLocal</CODE> - if set, inhibits the delivery of messages published
by its own connection
<DT><B>Throws:</B>
<DD><CODE><A HREF="JMSException.html" title="class in javax.jms">JMSException</A></CODE> - if the session fails to create a subscriber
due to some internal error.
<DD><CODE><A HREF="InvalidDestinationException.html" title="class in javax.jms">InvalidDestinationException</A></CODE> - if an invalid topic is specified.
<DD><CODE><A HREF="InvalidSelectorException.html" title="class in javax.jms">InvalidSelectorException</A></CODE> - if the message selector is invalid.</DL>
</DD>
</DL>
<HR>
<A NAME="createTemporaryTopic()"><!-- --></A><H3>
createTemporaryTopic</H3>
<PRE>
<A HREF="TemporaryTopic.html" title="interface in javax.jms">TemporaryTopic</A> <B>createTemporaryTopic</B>()
throws <A HREF="JMSException.html" title="class in javax.jms">JMSException</A></PRE>
<DL>
<DD>Creates a <CODE>TemporaryTopic</CODE> object. Its lifetime will be that
of the <CODE>TopicConnection</CODE> unless it is deleted earlier.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="Session.html#createTemporaryTopic()">createTemporaryTopic</A></CODE> in interface <CODE><A HREF="Session.html" title="interface in javax.jms">Session</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>a temporary topic identity
<DT><B>Throws:</B>
<DD><CODE><A HREF="JMSException.html" title="class in javax.jms">JMSException</A></CODE> - if the session fails to create a temporary
topic due to some internal error.</DL>
</DD>
</DL>
<HR>
<A NAME="createTopic(java.lang.String)"><!-- --></A><H3>
createTopic</H3>
<PRE>
<A HREF="Topic.html" title="interface in javax.jms">Topic</A> <B>createTopic</B>(java.lang.String&nbsp;topicName)
throws <A HREF="JMSException.html" title="class in javax.jms">JMSException</A></PRE>
<DL>
<DD>Creates a topic identity given a <CODE>Topic</CODE> name.
<P>This facility is provided for the rare cases where clients need to
dynamically manipulate topic identity. This allows the creation of a
topic identity with a provider-specific name. Clients that depend
on this ability are not portable.
<P>Note that this method is not for creating the physical topic.
The physical creation of topics is an administrative task and is not
to be initiated by the JMS API. The one exception is the
creation of temporary topics, which is accomplished with the
<CODE>createTemporaryTopic</CODE> method.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="Session.html#createTopic(java.lang.String)">createTopic</A></CODE> in interface <CODE><A HREF="Session.html" title="interface in javax.jms">Session</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>topicName</CODE> - the name of this <CODE>Topic</CODE>
<DT><B>Returns:</B><DD>a <CODE>Topic</CODE> with the given name
<DT><B>Throws:</B>
<DD><CODE><A HREF="JMSException.html" title="class in javax.jms">JMSException</A></CODE> - if the session fails to create a topic
due to some internal error.</DL>
</DD>
</DL>
<HR>
<A NAME="unsubscribe(java.lang.String)"><!-- --></A><H3>
unsubscribe</H3>
<PRE>
void <B>unsubscribe</B>(java.lang.String&nbsp;name)
throws <A HREF="JMSException.html" title="class in javax.jms">JMSException</A></PRE>
<DL>
<DD>Unsubscribes a durable subscription that has been created by a client.
<P>This method deletes the state being maintained on behalf of the
subscriber by its provider.
<P>It is erroneous for a client to delete a durable subscription
while there is an active <CODE>TopicSubscriber</CODE> for the
subscription, or while a consumed message is part of a pending
transaction or has not been acknowledged in the session.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="Session.html#unsubscribe(java.lang.String)">unsubscribe</A></CODE> in interface <CODE><A HREF="Session.html" title="interface in javax.jms">Session</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name used to identify this subscription
<DT><B>Throws:</B>
<DD><CODE><A HREF="JMSException.html" title="class in javax.jms">JMSException</A></CODE> - if the session fails to unsubscribe to the
durable subscription due to some internal error.
<DD><CODE><A HREF="InvalidDestinationException.html" title="class in javax.jms">InvalidDestinationException</A></CODE> - if an invalid subscription name
is specified.</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="TopicSession.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="TopicRequestor.html" title="class in javax.jms"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="TopicSubscriber.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@javax%252Fjms%252FTopicSession.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TopicSession.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="TopicSession.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="TopicSession.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>