0

我的目标是使用 Camel 及其 JMS 组件。

路线配置如下所示 -

from("jms:queue:test").to(mybean) 

我想在此路由中添加“参数”类型的选项并键入“对象” - 例如选项“jmsMessageType”。

我看到其他一些关于在路由定义上使用 setProperty() 的帖子,但我找不到明确的答案。“字符串”和数字类型的选项可以附加到 URI,但不能附加到对象。

JMS 有一个 taskExecutor 选项,但我如何将它的实例添加到 URI 以进行路由。

4

2 回答 2

1

我认为您将参数option混淆了。

您所指的jmsMessageType是 Camel 的jms组件的一个选项。每个组件可以有许多选项,您可以通过附加“?”来使用它们。特点。例如

from("jms:queue:test?jmsMessageType=text").to(mybean) 

更具体地说,对于 jms 组件的可用选项可以在http://camel.apache.org/jms.html中找到(参见通用和高级选项部分)

属性有所不同,它与组件无关,而是与通过端点传递的Exchange消息有关。更多细节在 apache camel 中的处理器之间传递值

于 2018-01-31T07:43:34.397 回答
1

我必须通过将实例添加到自定义注册表并从端点 URI 使用它们来解决这个问题

来自官方 Apache Camel 页面

从骆驼2.0:

使用 URI 语法配置端点时,您现在可以使用 # 表示法在注册表中引用 bean。如果参数值以 # 符号开头,那么 Camel 将在注册表中查找给定类型的 bean。例如:

file://inbox?sorter=#mySpecialFileSorter

于 2018-02-05T18:05:36.817 回答