javax.jms

## Interface TopicConnection

- All Superinterfaces:
    AutoCloseable, 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.

  Since:
    JMS 1.0
  See Also:
    `Connection`, `ConnectionFactory`, `TopicConnectionFactory`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ConnectionConsumer` | `createConnectionConsumer(Topic topic, String messageSelector, ServerSessionPool sessionPool, int maxMessages)` Creates a connection consumer for this connection (optional operation).
    `ConnectionConsumer` | `createDurableConnectionConsumer(Topic topic, String subscriptionName, 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, createSession, createSession, createSharedConnectionConsumer, createSharedDurableConnectionConsumer, 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,
                                                    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,
                                                           String subscriptionName,
                                                           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`

Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.