{
throw new JMSException("Session no longer valid") ;
}
if (!connectionPool.isAssociated(this))
{
final TransactionStrategy transactionStrategy = TransactionStrategy.getTransactionStrategy(true) ;
try
{
if (!transactionStrategy.isActive())
{
throw new JMSException("No active transaction") ;
}
transactionStrategy.registerSynchronization(this) ;
setSuspect(true) ;
final XAResource resource = xaSessionDelegate.getXAResource() ;
transactionStrategy.enlistResource(resource) ;
}
catch (final TransactionStrategyException tse)
{
final JMSException ex = new JMSException("Failed to initialise transaction resources") ;
ex.initCause(tse) ;