Class JmsResourceHolder
java.lang.Object
org.springframework.transaction.support.ResourceHolderSupport
org.springframework.jms.connection.JmsResourceHolder
- All Implemented Interfaces:
ResourceHolder
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 Summary
ConstructorDescriptionCreate 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
Modifier and TypeMethodDescriptionfinal void
addConnection
(Connection connection) Add the given Connection to this resource holder.final void
addSession
(Session session) Add the given Session to this resource holder.final void
addSession
(Session session, Connection connection) Add the given Session to this resource holder, registered for a specific Connection.void
closeAll()
Close all of this resource holder's Sessions and clear its state.void
Commit all of this resource holder's Sessions.boolean
containsSession
(Session session) Determine whether the given Session is registered with this resource holder.Return this resource holder's default Connection, ornull
if none.<C extends Connection>
CgetConnection
(Class<C> connectionType) Return this resource holder's Connection of the given type, ornull
if none.Return this resource holder's default Session, ornull
if none.<S extends Session>
SgetSession
(Class<S> sessionType) Return this resource holder's Session of the given type, ornull
if none.<S extends Session>
SgetSession
(Class<S> sessionType, Connection connection) Return this resource holder's Session of the given type for the given connection, ornull
if none.final boolean
isFrozen()
Return whether this resource holder is frozen, i.e.Methods inherited from class org.springframework.transaction.support.ResourceHolderSupport
clear, getDeadline, getTimeToLiveInMillis, getTimeToLiveInSeconds, hasTimeout, isOpen, isRollbackOnly, isSynchronizedWithTransaction, isVoid, released, requested, reset, resetRollbackOnly, setRollbackOnly, setSynchronizedWithTransaction, setTimeoutInMillis, setTimeoutInSeconds, unbound
-
Constructor Details
-
JmsResourceHolder
public JmsResourceHolder()Create a new JmsResourceHolder that is open for resources to be added. -
JmsResourceHolder
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 benull
)
-
JmsResourceHolder
Create a new JmsResourceHolder for the given JMS Session.- Parameters:
session
- the JMS Session
-
JmsResourceHolder
Create a new JmsResourceHolder for the given JMS resources.- Parameters:
connection
- the JMS Connectionsession
- the JMS Session
-
JmsResourceHolder
public JmsResourceHolder(@Nullable 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 benull
)connection
- the JMS Connectionsession
- 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. -
addConnection
Add the given Connection to this resource holder. -
addSession
Add the given Session to this resource holder. -
addSession
Add the given Session to this resource holder, registered for a specific Connection. -
containsSession
Determine whether the given Session is registered with this resource holder. -
getConnection
Return this resource holder's default Connection, ornull
if none. -
getConnection
Return this resource holder's Connection of the given type, ornull
if none. -
getSession
Return this resource holder's default Session, ornull
if none. -
getSession
Return this resource holder's Session of the given type, ornull
if none. -
getSession
@Nullable public <S extends Session> S getSession(Class<S> sessionType, @Nullable Connection connection) Return this resource holder's Session of the given type for the given connection, ornull
if none. -
commitAll
Commit all of this resource holder's Sessions.- Throws:
JMSException
- if thrown from a Session commit attempt- See Also:
-
closeAll
public void closeAll()Close all of this resource holder's Sessions and clear its state.- See Also:
-