gpt4 book ai didi

java - 从非 Camel 组件向 Camel 组件发送消息的最佳方式是什么?

转载 作者:行者123 更新时间:2023-11-30 03:47:22 25 4
gpt4 key购买 nike

我有一个正在运行的 Scheduled Singleton,它通过 REST API 从 Couchbase DB 节点收集数据,我还有一个 Camel 组件,负责将错误报告和统计信息发送到外部工具。我们系统中的其他 Camel 组件可以很好地使用这个“错误报告”端点。我怎样才能让我的单例在这种情况下有用?(我正在寻找类似于 Camel 的 Junit Test 中的 ProducerTemplate 的东西。)

最佳答案

如果您确实无法获取 Camel Context,您还有其他一些选择。

  1. 如果您位于同一个 JVM 中,并且启动类路径中有 Camel-core - 启动另一个 CamelContext 并使用 direct-vm or vm 组件。

  2. 如果您熟悉 JMX,您可以通过 JMX 访问您的 Camel 上下文。并使用该协议(protocol)向任何端点发送消息。一些样板,但不需要您位于同一个 JVM 甚至同一台机器中。

  3. 启动 embedded ActiveMQ并将其用于模块间通信。我喜欢这种方法,因为它可能比 JMX 更容易,并且很容易将发送者/接收者彼此分离(假设您想从另一个系统发送)。但是,会产生一些性能开销。

  4. 使用任何其他直接外部协议(protocol)。 ZMQ , jetty/http , RMI 。每个都有自己的缺点或优点。取决于您的知识和要求(如果您是 RMI 专家,您可能会认为这是一条不错的道路)。

关于java - 从非 Camel 组件向 Camel 组件发送消息的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25302967/

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