gpt4 book ai didi

java - Apache Camel : creating simple POJO pipelines (put a POJO in and get a POJO out)

转载 作者:行者123 更新时间:2023-12-01 22:59:27 25 4
gpt4 key购买 nike

我刚刚发现了 Camel,它似乎正是我所需要的。
我有几个知道如何处理特定输入数据的构建 block ,所以我想创建一个非常简单的 GUI 供用户选择构建 block ,只需将它们一个接一个地链接起来(有点像 Fuse IDE,但不是那么花哨。只是一个组件的线性列表对我来说就足够了)。

我找不到示例如何在其中逐一启动上下文提要简单的 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();

最佳答案

看看CamelProxy 。它允许您发送到 Camel 端点。

OrderService service = new ProxyBuilder(context)
.endpoint("direct:order")
.build(OrderService.class);

OrderService 是一个接口(interface),它定义了您要用于发送的方法:

public interface OrderService {
public String send(SomeBean message);
}

示例路线:

from("direct:order").to("bean:someProcessor");

向路由发送消息:

String reply = service.send(new SomeBean());

Here is a simple working example

关于java - Apache Camel : creating simple POJO pipelines (put a POJO in and get a POJO out),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23530027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com