以下是关于Camel in Action book中给出的生产者和消费者的定义。
消费者可能正在接收来自外部服务的消息,进行轮询 用于某些系统上的消息,甚至是创建消息本身。这条信息 然后流经处理组件,这可能是企业集成 模式(EIP),处理器,拦截器或其他一些自定义创建。消息 最终被发送到作为生产者角色的目标端点。一条路线可能 有许多处理组件可以修改消息或将消息发送到另一个位置, 或者它可能没有,在这种情况下它将是一个简单的管道。
我的怀疑:
谢谢!
答案 0 :(得分:3)
外部服务可以是,例如,外部Web服务,外部REST服务,EJB等。
消费者可能正在使用这些服务中的任何一种,或者它可能正在侦听要在文件系统上的特定位置创建的文件(或多个文件),它可能会从消息队列(JMS)消耗,等等 - 只有可用的组件和端点限制了无限的可能性。
基本上,使用apache camel,你正在设计一个消息总线(ESB),对吧?你可以这样思考 - “消费者”从外面获取东西并把它放在公共汽车上。
然后,你的信息将通过各种途径(最有可能通过EIP进行翻译和修改),然后最终它必须在现实世界中的“那里”去一些地方 - 那就是生产者做的时候这是工作。
消费者消费到公共汽车/生产者生产的公共汽车。
通常,您不需要过多地考虑端点是否作为消费者作为生产者运行 - 只需根据需要使用.from
和.to
,一切都应该可以正常工作
另请阅读此答案:Apache Camel producers and consumers
我希望这有帮助!