骆驼组件:是否可以创建一个仅限消费者的组件?

Camel Component: Is it possible to create a Consumer Only Component?

我有两难选择。

我有一个基于 GET 的 REST 服务和一个基于 POST 的 REST 服务。

我必须为其中的每一个创建自定义 Camel 组件。

我们可以创建一个只消费的 Camel 组件吗? 同样,是否可以创建一个只生产的自定义 Camel 组件?

如果一个Camel组件只消费,我们如何提供消息给它消费?因为如果我们写入 ("consumeOnly:someURI"),这会使该组件成为生产者。 consumeOnly Endpoint 的 createProducer() 会被调用吗?

是的,当实现自定义 Camel 组件时,然后在 createConsumer / createProducer 方法中抛出一个异常,说明该组件不支持消费者或生产者。

Apache Camel 本身的组件就是这样做的。由于历史原因,抛出异常而不是对任何一个都可能有不同的 api。