org.springframework.jms.connection

## Class JmsResourceHolder

- java.lang.Object
- - org.springframework.transaction.support.ResourceHolderSupport
  - - org.springframework.jms.connection.JmsResourceHolder

- All Implemented Interfaces:
    ResourceHolder

      public class JmsResourceHolder
      extends ResourceHolderSupport

  JMS resource holder, wrapping a JMS Connection and a JMS Session. JmsTransactionManager binds instances of this class to the thread, for a given JMS ConnectionFactory.

  Note: This is an SPI class, not intended to be used by applications.

  Since:
    1.1
  Author:
    Juergen Hoeller
  See Also:
    `JmsTransactionManager`, `JmsTemplate`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `JmsResourceHolder()` Create a new JmsResourceHolder that is open for resources to be added.
    `JmsResourceHolder(ConnectionFactory connectionFactory)` Create a new JmsResourceHolder that is open for resources to be added.
    `JmsResourceHolder(ConnectionFactory connectionFactory, Connection connection, Session session)` Create a new JmsResourceHolder for the given JMS resources.
    `JmsResourceHolder(Connection connection, Session session)` Create a new JmsResourceHolder for the given JMS resources.
    `JmsResourceHolder(Session session)` Create a new JmsResourceHolder for the given JMS Session.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addConnection(Connection connection)`
    `void` | `addSession(Session session)`
    `void` | `addSession(Session session, Connection connection)`
    `void` | `closeAll()`
    `void` | `commitAll()`
    `boolean` | `containsSession(Session session)`
    `Connection` | `getConnection()`
    `Connection` | `getConnection(Class<? extends Connection> connectionType)`
    `Session` | `getSession()`
    `Session` | `getSession(Class<? extends Session> sessionType)`
    `Session` | `getSession(Class<? extends Session> sessionType, Connection connection)`
    `boolean` | `isFrozen()`

    - ### Methods inherited from class org.springframework.transaction.support.ResourceHolderSupport

      `clear, getDeadline, getTimeToLiveInMillis, getTimeToLiveInSeconds, hasTimeout, isOpen, isRollbackOnly, isSynchronizedWithTransaction, isVoid, released, requested, reset, setRollbackOnly, setSynchronizedWithTransaction, setTimeoutInMillis, setTimeoutInSeconds, unbound`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JmsResourceHolder

          public JmsResourceHolder()

      Create a new JmsResourceHolder that is open for resources to be added.
      See Also:
        `addConnection(javax.jms.Connection)`, `addSession(javax.jms.Session)`

    - #### JmsResourceHolder

          public JmsResourceHolder(ConnectionFactory connectionFactory)

      Create a new JmsResourceHolder that is open for resources to be added.
      Parameters:
        `connectionFactory` - the JMS ConnectionFactory that this resource holder is associated with (may be `null`)

    - #### JmsResourceHolder

          public JmsResourceHolder(Session session)

      Create a new JmsResourceHolder for the given JMS Session.
      Parameters:
        `session` - the JMS Session

    - #### JmsResourceHolder

          public JmsResourceHolder(Connection connection,
                           Session session)

      Create a new JmsResourceHolder for the given JMS resources.
      Parameters:
        `connection` - the JMS Connection
        `session` - the JMS Session

    - #### JmsResourceHolder

          public JmsResourceHolder(ConnectionFactory connectionFactory,
                           Connection connection,
                           Session session)

      Create a new JmsResourceHolder for the given JMS resources.
      Parameters:
        `connectionFactory` - the JMS ConnectionFactory that this resource holder is associated with (may be `null`)
        `connection` - the JMS Connection
        `session` - the JMS Session

  - ### Method Detail

    - #### isFrozen

          public final boolean isFrozen()

    - #### addConnection

          public final void addConnection(Connection connection)

    - #### addSession

          public final void addSession(Session session)

    - #### addSession

          public final void addSession(Session session,
                        Connection connection)

    - #### containsSession

          public boolean containsSession(Session session)

    - #### getConnection

          public Connection getConnection()

    - #### getConnection

          public Connection getConnection(Class<? extends Connection> connectionType)

    - #### getSession

          public Session getSession()

    - #### getSession

          public Session getSession(Class<? extends Session> sessionType)

    - #### getSession

          public Session getSession(Class<? extends Session> sessionType,
                           Connection connection)

    - #### commitAll

          public void commitAll()
                         throws JMSException

      Throws:
        `JMSException`

    - #### closeAll

          public void closeAll()