Right, but when you use the namespace for configuration, the parser sets sessionTransacted when you use ack mode=transacted...
Code:
Integer acknowledgeMode = parseAcknowledgeMode(containerEle, parserContext);
if (acknowledgeMode != null) {
if (acknowledgeMode == Session.SESSION_TRANSACTED) {
containerDef.getPropertyValues().add("sessionTransacted", Boolean.TRUE);
}
else {
containerDef.getPropertyValues().add("sessionAcknowledgeMode", acknowledgeMode);
}
}
Yes, if you want to synchronize with some other transaction manager (such as JTA, JDBC), then you need to provide a transaction manager. All I was saying was that if you are only using JMS, then you don't usually need to specify a JmsTransactionManager.