Interface ConnectionFactoryUtils.ResourceFactory
- Enclosing class:
- ConnectionFactoryUtils
public static interface ConnectionFactoryUtils.ResourceFactory
Callback interface for resource creation. Serving as argument for thedoGetTransactionalSession
method.
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Connection
createConnection()
Create a new JMS Connection for registration with a JmsResourceHolder.Session
createSession(Connection con)
Create a new JMS Session for registration with a JmsResourceHolder.Connection
getConnection(JmsResourceHolder holder)
Fetch an appropriate Connection from the given JmsResourceHolder.Session
getSession(JmsResourceHolder holder)
Fetch an appropriate Session from the given JmsResourceHolder.boolean
isSynchedLocalTransactionAllowed()
Return whether to allow for a local JMS transaction that is synchronized with a Spring-managed transaction (where the main transaction might be a JDBC-based one for a specific DataSource, for example), with the JMS transaction committing right after the main transaction.
Method Detail
getSession
@Nullable Session getSession(JmsResourceHolder holder)
Fetch an appropriate Session from the given JmsResourceHolder.- Parameters:
holder
- the JmsResourceHolder- Returns:
- an appropriate Session fetched from the holder, or
null
if none found
getConnection
@Nullable Connection getConnection(JmsResourceHolder holder)
Fetch an appropriate Connection from the given JmsResourceHolder.- Parameters:
holder
- the JmsResourceHolder- Returns:
- an appropriate Connection fetched from the holder, or
null
if none found
createConnection
Connection createConnection() throws JMSException
Create a new JMS Connection for registration with a JmsResourceHolder.- Returns:
- the new JMS Connection
- Throws:
JMSException
- if thrown by JMS API methods
createSession
Session createSession(Connection con) throws JMSException
Create a new JMS Session for registration with a JmsResourceHolder.- Parameters:
con
- the JMS Connection to create a Session for- Returns:
- the new JMS Session
- Throws:
JMSException
- if thrown by JMS API methods
isSynchedLocalTransactionAllowed
boolean isSynchedLocalTransactionAllowed()
Return whether to allow for a local JMS transaction that is synchronized with a Spring-managed transaction (where the main transaction might be a JDBC-based one for a specific DataSource, for example), with the JMS transaction committing right after the main transaction.- Returns:
- whether to allow for synchronizing a local JMS transaction