骆驼ActiveMQ回复问题

问题描述

尝试使用ReplyTo时获取异常。要求是接收来自外部队列的答复。不知道为什么会收到超时错误,是否必须进行任何配置更改或任何代码更改。尝试了不同的方法,但是没有用。任何帮助将不胜感激

我正在从文件夹中读取文件,将文件拆分并将结果发送到req队列,并期望在req2上得到答复

    from("file://C:/pkuma1?fileName=request464.txt").routeId(messageType+"sasasas")
    .split()
    .tokenize("\\n")
    .log(INFO,"i am initial")
    .setHeader("JMSReplyTo",simple("req2"))
    .inOut("amq://queue:req?replyTo=req2&preserveMessageQos=true&replyToType=Shared&receiveTimeout=250")
   // .inOut("amq://queue:req")
    .transform(constant("Bye Camel"))
    .log(INFO,"msg id initial = ${in.header.JMSMessageId}")
    .log(INFO,"corr id initial = ${in.header.JMSCorrelationID}")
    .to("stream:out");

    from("amq://queue:req")
    .log(INFO,"i am second route")
    .log(INFO,"msg id second route = ${in.header.JMSMessageId}")
    .log(INFO,"corr id second route = ${in.header.JMSCorrelationID}");
    .setHeader("JMSCorrelationID",simple("${in.header.JMSCorrelationID}"));
    .transform(simple("Hello in second route ${in.body}"))
    .process(exchange -> {
        System.out.println(exchange);
        System.out.println("route2");
    });
    //.end();
    //.to("amq://queue:req2");
    
    from("amq://queue:req2?disableReplyTo=true")
    .log(INFO,"i am third route")
    .log(INFO,"msg id third route = ${in.header.JMSMessageId}")
    .log(INFO,"corr id third route = ${in.header.JMSCorrelationID}")
    .setHeader("JMSCorrelationID",simple("${in.header.JMSCorrelationID}"))
    .transform(simple("Hello ${in.body}"))
    .process(exchange -> {
        System.out.println(exchange);
        System.out.println("route3");
        System.out.println(exchange.getIn().getHeader("JMSCorrelationID"));
        exchange.getIn().setBody("Hello ${in.body}");
        exchange.getIn().setHeader(JmsConstants.JMS_DESTINATION,"");
        exchange.getIn().setHeader("JMSReplyTo","");
        exchange.getIn().setHeader("JmsDestination","");
        exchange.getIn().setHeader("CamelJmsDestination","");
    })
    .to("stream:out")
    .end();

得到以下错误120000毫秒等待具有相关性ID的回复消息后发生超时

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)