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
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.