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, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content