我刚刚发现了Camel,它似乎正是我所需要的
我有几个构建块知道如何处理特定的输入数据,所以我想创建一个非常简单的GUI供用户选择构建块,只是一个接一个地链接它们(有点像Fuse IDE,但不是那种花哨。只是一个线性的组件清单对我来说已足够了。)
我找不到示例如何在其中逐个启动上下文Feed简单POJO,每次等待直到上一个输入消息到达其路径的末尾,然后在另一端获得另一个POJO 。
或者将其写入数据库/序列化为文件
谷歌搜索只提供了Spring,ActiveMQ等的一些例子。我只需要最简单的场景,但要弄清楚要使用哪些URI等。
PS:我能够运行这个简单的例子(唯一的依赖是camel-core 2.13和slf4j 1.7.7)
CamelContext context = new DefaultCamelContext();
// add our route to the CamelContext
context.addRoutes(new RouteBuilder() {
@Override
public void configure() {
from("file:src/data?noop=true").
choice().
when(xpath("/person/city = 'London'")).to("file:target/messages/uk").
otherwise().to("file:target/messages/others");
}
});
// start the route and let it do its work
System.out.println("Starting camel no maven");
context.start();
Thread.sleep(3000);
System.out.println("Done camel no maven");
// stop the CamelContext
context.stop();
答案 0 :(得分:3)
看看CamelProxy。它允许您发送到Camel端点。
OrderService service = new ProxyBuilder(context)
.endpoint("direct:order")
.build(OrderService.class);
OrderService是一个定义您要用来发送的方法的接口:
public interface OrderService {
public String send(SomeBean message);
}
示例路线:
from("direct:order").to("bean:someProcessor");
向路线发送消息:
String reply = service.send(new SomeBean());