gpt4 book ai didi

java - 端点的 Camel 处理器

转载 作者:行者123 更新时间:2023-11-30 07:19:56 28 4
gpt4 key购买 nike

我正在试用 Camel,发现它是一个方便的端点集成工具。我已经设置了以下实验性应用程序:

第一个端点是一个简单的 http-get 请求(在命令行上使用 curl)。这与使用 Jetty 的中央交换机接口(interface)(这是基于 Camel 的应用程序)。这会进行一些基本的修补,并将请求传递给处理请求的另一个端点(Thrift 服务器)。然后将其响应路由回命令行客户端。因此,该设置是一种过度设计的第 3 层 Hello-world 架构。

我的路线通常采用这种形式:

from("jetty:http://localhost:8080/hello").process(new DummyProcessor()).process(new HelloProcessor());

我的问题如下:

鉴于 HelloProcessor 将 Thrift 消息发送到另一个端点进行处理,这不应该是一个组件吗?使用处理器来完成这样的任务是好的(可接受的)做法吗?再者,如果确实可以接受,写一个组件有什么好处。

最佳答案

如果您打算在一条或几条 route 使用组件,那么编写组件实际上并没有任何好处。

如果您打算将来在多个路由中使用此处理器,并且您需要一种通过某些参数对其进行配置的方法 - 那么您通常会编写自己的组件。它也可能使路线更具可读性。组件也是在不同的 Camel 应用程序和项目之间共享的简单工件。

from("file:///var/files/inbox").to("http://www.example.com/");
vs
from("file:///var/files/inbox").process(sendHttpToExampleDotComProcessor); // or whatever

如果是一次性使用 - 不要过于复杂。

关于java - 端点的 Camel 处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14332079/

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