How to turn off persistent delivery for reply queues with SwitchYard JMS Binding

Solution Verified - Updated -

Issue

  • In SwitchYard, I have a project that consume from a queue and sends the response to the replyTo queue in the JMS Header.
  • In the JMS Binding's properties, I have set the deliveryPersistent to false (under [Bindings] -> [Advanced Details] tab). However, when I check my Active-MQ database table ACTIVEMQ_MSGS, I am still seeing the messages being persisted.
  • Here is part of my switchyard.xml:

    <sca:service name="MyRequestReplyService" promote="MyRoute/MyRequestReplyService">
      ...
      <jms:binding.jms name="jms1">
        ...
        <jms:queue>my.request.queue</jms:queue>
        <jms:connectionFactory>${my.queue.connectionFactory}</jms:connectionFactory>
        <jms:deliveryPersistent>false</jms:deliveryPersistent>
      </jms:binding.jms>
    </sca:service>
    
  • The scenario where it is not working is on the consumer processing the message and replying to the replyTo queue in Request-Response pattern. Advice how to turn off deliveryPersistent for queue consumers on a request-response EIP pattern in SwitchYard.

  • Referring to the Camel documentation I tried setting the replyToDeliveryPersistent to false in my Camel route, but it is still not working:

    <from uri="switchyard://MyRequestReplyService?replyToDeliveryPersistent=false"/>
    

Environment

  • Red Hat JBoss Fuse Service Works (FSW)
    • 6.0
  • Red Hat JBoss Fuse (Fuse)
    • 6.2

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In