Package jakarta.jms

Interface QueueSession

  • All Superinterfaces:
    AutoCloseable, Runnable, Session

    public interface QueueSession
    extends Session
    A QueueSession object provides methods for creating QueueReceiver, QueueSender, QueueBrowser, and TemporaryQueue objects.

    If there are messages that have been received but not acknowledged when a QueueSession terminates, these messages will be retained and redelivered when a consumer next accesses the queue.

    A QueueSession is used for creating Point-to-Point specific objects. In general, use the Session object. The QueueSession is used to support existing code. Using the Session object simplifies the programming model, and allows transactions to be used across the two messaging domains.

    A QueueSession cannot be used to create objects specific to the publish/subscribe domain. The following methods inherit from Session, but must throw an IllegalStateException if they are used from QueueSession:

    • createDurableSubscriber
    • createDurableConsumer
    • createSharedConsumer
    • createSharedDurableConsumer
    • createTemporaryTopic
    • createTopic
    • unsubscribe
    Since:
    JMS 1.0
    Version:
    Jakarta Messaging 2.0
    See Also:
    Session, QueueConnection.createQueueSession(boolean, int), XAQueueSession.getQueueSession()
    • Method Detail

      • createQueue

        Queue createQueue​(String queueName)
                   throws JMSException
        Creates a queue identity given a Queue name.

        This facility is provided for the rare cases where clients need to dynamically manipulate queue identity. It allows the creation of a queue identity with a provider-specific name. Clients that depend on this ability are not portable.

        Note that this method is not for creating the physical queue. The physical creation of queues is an administrative task and is not to be initiated by the Jakarta Messaging API. The one exception is the creation of temporary queues, which is accomplished with the createTemporaryQueue method.

        Specified by:
        createQueue in interface Session
        Parameters:
        queueName - the name of this Queue
        Returns:
        a Queue with the given name
        Throws:
        JMSException - if the session fails to create a queue due to some internal error.
      • createReceiver

        QueueReceiver createReceiver​(Queue queue)
                              throws JMSException
        Creates a QueueReceiver object to receive messages from the specified queue.
        Parameters:
        queue - the Queue to access
        Returns:
        A QueueReceiver object to receive messages from the specified queue
        Throws:
        JMSException - if the session fails to create a receiver due to some internal error.
        InvalidDestinationException - if an invalid queue is specified.
      • createReceiver

        QueueReceiver createReceiver​(Queue queue,
                                     String messageSelector)
                              throws JMSException
        Creates a QueueReceiver object to receive messages from the specified queue using a message selector.
        Parameters:
        queue - the Queue 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.
        Returns:
        A QueueReceiver object to receive messages from the specified queue
        Throws:
        JMSException - if the session fails to create a receiver due to some internal error.
        InvalidDestinationException - if an invalid queue is specified.
        InvalidSelectorException - if the message selector is invalid.
      • createSender

        QueueSender createSender​(Queue queue)
                          throws JMSException
        Creates a QueueSender object to send messages to the specified queue.
        Parameters:
        queue - the Queue to access, or null if this is an unidentified producer
        Returns:
        A QueueSender object to send messages to the specified queue.
        Throws:
        JMSException - if the session fails to create a sender due to some internal error.
        InvalidDestinationException - if an invalid queue is specified.
      • createBrowser

        QueueBrowser createBrowser​(Queue queue)
                            throws JMSException
        Creates a QueueBrowser object to peek at the messages on the specified queue.
        Specified by:
        createBrowser in interface Session
        Parameters:
        queue - the Queue to access
        Returns:
        A QueueBrowser object to peek at the messages.
        Throws:
        JMSException - if the session fails to create a browser due to some internal error.
        InvalidDestinationException - if an invalid queue is specified.
      • createBrowser

        QueueBrowser createBrowser​(Queue queue,
                                   String messageSelector)
                            throws JMSException
        Creates a QueueBrowser object to peek at the messages on the specified queue using a message selector.
        Specified by:
        createBrowser in interface Session
        Parameters:
        queue - the Queue 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.
        Returns:
        A QueueBrowser object to peek at the messages on the specified queue.
        Throws:
        JMSException - if the session fails to create a browser due to some internal error.
        InvalidDestinationException - if an invalid queue is specified.
        InvalidSelectorException - if the message selector is invalid.
      • createTemporaryQueue

        TemporaryQueue createTemporaryQueue()
                                     throws JMSException
        Creates a TemporaryQueue object. Its lifetime will be that of the QueueConnection unless it is deleted earlier.
        Specified by:
        createTemporaryQueue in interface Session
        Returns:
        a temporary queue identity
        Throws:
        JMSException - if the session fails to create a temporary queue due to some internal error.