Sorry - you’re right.  I was basing my answer on when I was writing the 
“consumer side” in pure Java.  I had to send a response in that case since 
Spring/Camel wasn’t around to help with the details.

I put together a quick test of those routes, and it passes on Camel 2.10.7 - so 
I’m not sure why you are seeing what you’re seeing.  I’ve pasted the test code 
below so you can try it an see if it works.

Hope that helps

public class JmsRequestResponseTest extends CamelTestSupport {
    static final String TRIGGER_URI = "direct://trigger";

    @Rule
    public EmbeddedActiveMQBroker broker = new EmbeddedActiveMQBroker();

    @EndpointInject(uri = "mock://complete")
    MockEndpoint complete;

    @Override
    protected JndiRegistry createRegistry() throws Exception {
        JndiRegistry registry = super.createRegistry();

        JmsComponent source = new JmsComponent();
        source.setConnectionFactory(new 
ActiveMQConnectionFactory(broker.getVmURL()));
        registry.bind("source", source);

        return registry;
    }

    @Override
    protected RouteBuilder createRouteBuilder() throws Exception {
        return new RouteBuilder() {
            @Override
            public void configure() throws Exception {
                from(TRIGGER_URI).routeId("producer-side")
                        .setHeader("JMSExpiration", 
constant(System.currentTimeMillis() + 10000))
                        .log("Sending request")
                        .to(ExchangePattern.InOut, 
"source://entityQueue?disableTimeToLive=true&requestTimeout=4000&replyTo=outputq")
                        .log("Reply received")
                        .to("mock://complete")
                ;

                
from("source://entityQueue?disableTimeToLive=true").routeId("consumer-side")
                        .log("Received Request")
                        .setBody(constant("Reply"))
                        .log("Sending Reply")
                ;
            }
        };
    }

    @Test
    public void testRoute() throws Exception {
        complete.expectedBodiesReceived("Reply");

        template.sendBody("direct://trigger", "Request");

        assertMockEndpointsSatisfied(5, TimeUnit.SECONDS);
    }
}



> On Sep 8, 2016, at 1:52 PM, Venu_s <svsv...@gmail.com> wrote:
> 
> From my study of literature, as long as there is a JMSReplyTo set in the
> header of the JMS message, there is nothing special that needs to be done on
> the subscribe side. and also the mssage is making back to the output, just
> that the producer sent the message after it timed out.
> 
> 
> 
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/JMS-message-with-Inout-pattern-tp5787336p5787389.html
> Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to