我正在尝试使用 Camel、Spring 和 ActiveMQ实现请求-回复模式。我需要做的是逐行读取 CSV 文件。然后对于每一行:
- 根据 CSV 中的行值构造请求
- 将请求发送到队列
- 其他组件需要接收消息,处理请求并将响应发送到另一个消息队列(生产者知道,因此生产者可以接收响应)。
我得到了下面的代码。现在让我们说在处理器中我创建了响应。
我的问题是:
- 我怎样才能发回响应?
- 如何使用响应?
public class MyRouteBuilder extends RouteBuilder {
public static void main(String[] args) throws Exception {
new Main().run(args);
}
public void configure() {
from("file:/Users/aviad/ws/integ/src/data?fileName=lines.txt&noop=true&idempotent=true")
.split()
.tokenize("\\n")
.inOut("activemq:req");
from("activemq:req")
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
System.out.println(exchange.getIn().getBody(String.class));
System.out.println("jmscorrelationid=" + exchange.getIn().getHeader("jmscorrelationid"));
System.out.println("jmsdestination=" + exchange.getIn().getHeader("jmsdestination"));
}
});
}
}