搜索

第 365 章 VM 组件

download PDF

从 Camel 版本 1.1 开始提供

vm: 组件提供异步 SEDA 行为,在单独的线程池中交换 BlockingQueue 和调用消费者的消息。

此组件与 Seda 组件的不同之处在于,虚拟机支持 CamelContext 实例之间的通信 - 因此,您可以使用此机制在 Web 应用程序之间进行通信(只要 camel-core.jar 位于 system/boot classpath 上)。

VM 是 Seda 组件的扩展。

365.1. URI 格式

vm:queueName[?options]

其中 queueName 可以是任意字符串,用于唯一标识 JVM 中的端点(或在加载 camel-core.jar 的类loader 中至少标识端点)

您可以以以下格式将查询选项附加到 URI 中: ?option=value&option=value&…​

完全相同 的虚拟机 端点 URI 必须 用于生成者和消费者端点。否则,Camel 将创建一个第二个 虚拟机 端点,尽管 URI 的 queueName 部分相同。例如:

from("direct:foo").to("vm:bar?concurrentConsumers=5");

from("vm:bar?concurrentConsumers=5").to("file://output");

请注意,我们必须使用完整的 URI,包括生成者和消费者中的选项。

在 Camel 2.4 中,这个问题已被解决,只有队列名称必须匹配。使用队列名称 ,您可以重写以前的 exmple,如下所示:

from("direct:foo").to("vm:bar");

from("vm:bar?concurrentConsumers=5").to("file://output");
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.