如何使用 Java DSL 将对象类型的组件参数设置为路由?
How do I set a component parameter of type object to a route using Java DSL?
我的 objective 是使用 Camel 及其 JMS 组件。
路由配置如下所示-
from("jms:queue:test").to(mybean)
我想向这条路线添加类型 'parameter' 和类型 'object' 的选项 - 例如选项 'jmsMessageType'。
我看到其他一些帖子谈到在路由定义中使用 setProperty() 但我找不到明确的答案。 'string' 类型的选项和数字可以附加到 URI 但不能附加到对象。
JMS 有一个 taskExecutor 选项,但我如何将它的实例添加到 URI 以进行路由。
我认为您混淆了 参数 和 选项 。
jmsMessageType 您指的是 Camel 的 jms 组件的一个选项。每个组件可以有很多选项,您可以通过附加“?”来使用它们。特点。例如
from("jms:queue:test?jmsMessageType=text").to(mybean)
更具体地说,对于 jms 组件可用的选项可以在 http://camel.apache.org/jms.html 中找到(参见常用和高级选项部分)
属性 是不同的东西,它与组件无关,但与通过端点传递的 Exchange 消息有关。更多详情请见 Passing values between processors in apache camel
我必须通过将实例添加到自定义注册表并从端点 URI 使用它们来解决此问题
来自 Apache Camel 官方页面
From Camel 2.0:
When configuring endpoints using URI syntax you can now refer to beans
in the Registry using the # notation. If the parameter value starts
with a # sign then Camel will lookup in the Registry for a bean of the
given type. For instance:
file://inbox?sorter=#mySpecialFileSorter
我的 objective 是使用 Camel 及其 JMS 组件。
路由配置如下所示-
from("jms:queue:test").to(mybean)
我想向这条路线添加类型 'parameter' 和类型 'object' 的选项 - 例如选项 'jmsMessageType'。
我看到其他一些帖子谈到在路由定义中使用 setProperty() 但我找不到明确的答案。 'string' 类型的选项和数字可以附加到 URI 但不能附加到对象。
JMS 有一个 taskExecutor 选项,但我如何将它的实例添加到 URI 以进行路由。
我认为您混淆了 参数 和 选项 。
jmsMessageType 您指的是 Camel 的 jms 组件的一个选项。每个组件可以有很多选项,您可以通过附加“?”来使用它们。特点。例如
from("jms:queue:test?jmsMessageType=text").to(mybean)
更具体地说,对于 jms 组件可用的选项可以在 http://camel.apache.org/jms.html 中找到(参见常用和高级选项部分)
属性 是不同的东西,它与组件无关,但与通过端点传递的 Exchange 消息有关。更多详情请见 Passing values between processors in apache camel
我必须通过将实例添加到自定义注册表并从端点 URI 使用它们来解决此问题
来自 Apache Camel 官方页面
From Camel 2.0:
When configuring endpoints using URI syntax you can now refer to beans in the Registry using the # notation. If the parameter value starts with a # sign then Camel will lookup in the Registry for a bean of the given type. For instance:
file://inbox?sorter=#mySpecialFileSorter