javax.jms

## Interface TopicConnection

All Superinterfaces:
  Connection

All Known Subinterfaces:
  TopicConnection, XATopicConnection

    public interface TopicConnection
    extends Connection

A `TopicConnection` object is an active connection to a publish/subscribe JMS provider. A client uses a `TopicConnection` object to create one or more `TopicSession` objects for producing and consuming messages.

A `TopicConnection` can be used to create a `TopicSession`, from which specialized topic-related objects can be created. A more general, and recommended approach is to use the `Connection` object.

The `TopicConnection` object should be used to support existing code.

See Also:
  `Connection`, `ConnectionFactory`, `TopicConnectionFactory`

### Method Summary

Methods
`ConnectionConsumer` `createConnectionConsumer(Topic topic, java.lang.String messageSelector, ServerSessionPool sessionPool, int maxMessages)` Creates a connection consumer for this connection (optional operation).
`ConnectionConsumer` `createDurableConnectionConsumer(Topic topic, java.lang.String subscriptionName, java.lang.String messageSelector, ServerSessionPool sessionPool, int maxMessages)` Create a durable connection consumer for this connection (optional operation).
`TopicSession` `createTopicSession(boolean transacted, int acknowledgeMode)` Creates a `TopicSession` object.

### Methods inherited from interface javax.jms.Connection

`close, createConnectionConsumer, createSession, getClientID, getExceptionListener, getMetaData, setClientID, setExceptionListener, start, stop`

### Method Detail

#### createTopicSession

    TopicSession createTopicSession(boolean transacted,
                                  int acknowledgeMode)
                                    throws JMSException

Creates a `TopicSession` object.

Parameters:
  `transacted` - indicates whether the session is transacted
  `acknowledgeMode` - indicates whether the consumer or the client will acknowledge any messages it receives; ignored if the session is transacted. Legal values are `Session.AUTO_ACKNOWLEDGE`, `Session.CLIENT_ACKNOWLEDGE`, and `Session.DUPS_OK_ACKNOWLEDGE`.
Returns:
  a newly created topic session
Throws:
  `JMSException` - if the `TopicConnection` object fails to create a session due to some internal error or lack of support for the specific transaction and acknowledgement mode.
See Also:
  `Session.AUTO_ACKNOWLEDGE`, `Session.CLIENT_ACKNOWLEDGE`, `Session.DUPS_OK_ACKNOWLEDGE`

#### createConnectionConsumer

    ConnectionConsumer createConnectionConsumer(Topic topic,
                                              java.lang.String messageSelector,
                                              ServerSessionPool sessionPool,
                                              int maxMessages)
                                                throws JMSException

Creates a connection consumer for this connection (optional operation). This is an expert facility not used by regular JMS clients.

Parameters:
  `topic` - the topic to access
  `messageSelector` - 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.
  `sessionPool` - the server session pool to associate with this connection consumer
  `maxMessages` - the maximum number of messages that can be assigned to a server session at one time
Returns:
  the connection consumer
Throws:
  `JMSException` - if the `TopicConnection` object fails to create a connection consumer due to some internal error or invalid arguments for `sessionPool` and `messageSelector`.
  `InvalidDestinationException` - if an invalid topic is specified.
  `InvalidSelectorException` - if the message selector is invalid.
See Also:
  `ConnectionConsumer`

#### createDurableConnectionConsumer

    ConnectionConsumer createDurableConnectionConsumer(Topic topic,
                                                     java.lang.String subscriptionName,
                                                     java.lang.String messageSelector,
                                                     ServerSessionPool sessionPool,
                                                     int maxMessages)
                                                       throws JMSException

Create a durable connection consumer for this connection (optional operation). This is an expert facility not used by regular JMS clients.

Specified by:
  `createDurableConnectionConsumer` in interface `Connection`
Parameters:
  `topic` - the topic to access
  `subscriptionName` - durable subscription name
  `messageSelector` - 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.
  `sessionPool` - the server session pool to associate with this durable connection consumer
  `maxMessages` - the maximum number of messages that can be assigned to a server session at one time
Returns:
  the durable connection consumer
Throws:
  `JMSException` - if the `TopicConnection` object fails to create a connection consumer due to some internal error or invalid arguments for `sessionPool` and `messageSelector`.
  `InvalidDestinationException` - if an invalid topic is specified.
  `InvalidSelectorException` - if the message selector is invalid.
See Also:
  `ConnectionConsumer`