Class JmsResourceHolder

java.lang.Object
org.springframework.transaction.support.ResourceHoldersupport
org.springframework.jms.connection.JmsResourceHolder
All Implemented Interfaces:
ResourceHolder

public class JmsResourceHolder extends ResourceHoldersupport
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:
  • Constructor Details

    • JmsResourceHolder

      public JmsResourceHolder()
      Create a new JmsResourceHolder that is open for resources to be added.
      see Also:
    • JmsResourceHolder

      public JmsResourceHolder(@Nullable jakarta.jms.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(jakarta.jms.session session)
      Create a new JmsResourceHolder for the given JMs session.
      Parameters:
      session - the JMs session
    • JmsResourceHolder

      public JmsResourceHolder(jakarta.jms.Connection connection, jakarta.jms.session session)
      Create a new JmsResourceHolder for the given JMs resources.
      Parameters:
      connection - the JMs Connection
      session - the JMs session
    • JmsResourceHolder

      public JmsResourceHolder(@Nullable jakarta.jms.ConnectionFactory connectionFactory, jakarta.jms.Connection connection, jakarta.jms.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 Details

    • isFrozen

      public final boolean isFrozen()
      Return whether this resource holder is frozen, i.e. does not allow for adding further Connections and sessions to it.
      see Also:
    • addConnection

      public final void addConnection(jakarta.jms.Connection connection)
      Add the given Connection to this resource holder.
    • addsession

      public final void addsession(jakarta.jms.session session)
      Add the given session to this resource holder.
    • addsession

      public final void addsession(jakarta.jms.session session, @Nullable jakarta.jms.Connection connection)
      Add the given session to this resource holder, registered for a specific Connection.
    • containssession

      public boolean containssession(jakarta.jms.session session)
      Determine whether the given session is registered with this resource holder.
    • getConnection

      public @Nullable jakarta.jms.Connection getConnection()
      Return this resource holder's default Connection, or null if none.
    • getConnection

      public&nbsp;<C extends jakarta.jms.Connection> @Nullable C&nbsp;getConnection(Class<C>&nbsp;connectionType)
      Return this resource holder's Connection of the given type, or null if none.
    • getsession

      public&nbsp;@Nullable jakarta.jms.session&nbsp;getsession()
      Return this resource holder's default session, or null if none.
    • getsession

      public&nbsp;<s extends jakarta.jms.session>&nbsp;@Nullable s&nbsp;getsession(Class<s>&nbsp;sessionType)
      Return this resource holder's session of the given type, or null if none.
    • getsession

      public&nbsp;<s extends jakarta.jms.session>&nbsp;@Nullable s&nbsp;getsession(Class<s>&nbsp;sessionType, @Nullable jakarta.jms.Connection&nbsp;connection)
      Return this resource holder's session of the given type for the given connection, or null if none.
    • commitAll

      public&nbsp;void&nbsp;commitAll() throws jakarta.jms.JMsException
      Commit all of this resource holder's sessions.
      Throws:
      jakarta.jms.JMsException - if thrown from a session commit attempt
      see Also:
      • session.commit()
    • closeAll

      public&nbsp;void&nbsp;closeAll()
      Close all of this resource holder's sessions and clear its state.
      see Also:
      • session.close()