private void checkJmsTransportTransaction() { Destination destination = server.getDestination(); if (destination instanceof JMSDestination) { JMSDestination jmsDestination = (JMSDestination)destination; JMSConfiguration jmsConfig = jmsDestination.getJmsConfig(); if (jmsConfig.isSessionTransacted()) { TransactionManager tm = (TransactionManager) getContext().getTransactionManager(); if (tm == null) { throw new IllegalStateException("No TransactionManager available"); } else if (tm instanceof PlatformTransactionManager) { jmsConfig.setSessionTransacted(true); jmsConfig.setTransactionManager((PlatformTransactionManager)tm); jmsConfig.setUseJms11(false); setSynchronous(true); transactionEnabled = true; } } } }
jmsConfig.setTransactionManager(tm);