Two years on I saw the same thing, that Spring's JMSTemplate seems to ignore non-persistent delivery configuration, and always sends as persistent. Tracing through JMSTemplate it turns out that deliveryMode, priority, and timeToLive are ignored during send() unless "explicit QOS" is enabled, ie. jmsTemplate.setExplicitQosEnabled(true). Or alternatively the equivalent in the Spring app context:
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory"> <ref local="jmsFactory"/> </property> <property name="pubSubDomain" value="true"/> <property name="deliveryPersistent" value="false"/> <property name="deliveryMode" value="1"/> <property name="explicitQosEnabled" value="true"/> </bean> I'm sure the OP found the same thing out years ago, but just for anyone else with the same problem. -- View this message in context: http://activemq.2283324.n4.nabble.com/Non-persistent-deliverymode-not-effect-tp4680457p4714981.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.