79.11. 使用 Spring 配置 destination 和 conduit


79.11.1. Namespace

用于配置 Camel 传输端点的元素在命名空间 http://cxf.apache.org/transports/camel 中定义。它通常被称为前缀 camel。要使用 Camel 传输配置元素,您需要将下面显示的行添加到端点配置文件的 Bean 元素中。另外,您需要将配置元素的命名空间添加到 xsi:schemaLocation 属性中。

添加配置命名空间

<beans ...
       xmlns:camel="http://cxf.apache.org/transports/camel
       ...
       xsi:schemaLocation="...
                           http://cxf.apache.org/transports/camel
                           http://cxf.apache.org/transports/camel.xsd
                          ...>

79.11.2. destination 元素

您可以使用 camel:destination 元素及其子项配置 Camel 传输服务器端点。camel:destination 元素采用单个属性 name,它指定与端点对应的 WSDL 端口元素。name 属性的值采用 portQName'.camel-destination' 形式。以下示例显示 camel:destination 元素,它将用于为 WSDL 片段 < port binding="widgetSOAPBinding" name="widgetSOAPPort">如果端点的 目标命名空间是 http://widgets.widgetvendor.net 指定的端点添加配置。

camel:destination Element

...
  <camel:destination name="{http://widgets/widgetvendor.net}widgetSOAPPort.http-destination>
    <camelContext id="context" xmlns="http://activemq.apache.org/camel/schema/spring">
         <route>
           <from uri="direct:EndpointC" />
           <to uri="direct:EndpointD" />
         </route>
     </camelContext>
  </camel:destination>

  <!-- new added feature since Camel 2.11.x
  <camel:destination name="{http://widgets/widgetvendor.net}widgetSOAPPort.camel-destination" camelContextId="context" />

...

Spring 的 camel:destination 元素有多个指定配置信息的子元素。它们如下所述。

元素

描述

camel-spring:camelContext

您可以在 camel 目的地中指定 camel 上下文

camel:camelContextRef

要注入 camel 目的地的 camel 上下文 ID

79.11.3. conduit 元素

您可以使用 camel:conduit 元素及其子项配置 Camel 传输客户端。camel:conduit 元素采用单个属性 name,它指定与端点对应的 WSDL 端口元素。name 属性的值采用 portQName'.camel-conduit' 形式。例如,下面的代码显示 camel:conduit 元素,它用于为 WSDL 片段 < port binding="widgetSOAPBinding" name="widgetSOAPPort "> (如果端点的目标命名空间是 http://widgets.widgetvendor.net )指定的端点配置。

http-conf:conduit Element

...
  <camelContext id="conduit_context" xmlns="http://activemq.apache.org/camel/schema/spring">
       <route>
           <from uri="direct:EndpointA" />
           <to uri="direct:EndpointB" />
       </route>
   </camelContext>

  <camel:conduit name="{http://widgets/widgetvendor.net}widgetSOAPPort.camel-conduit">
     <camel:camelContextRef>conduit_context</camel:camelContextRef>
  </camel:conduit>

  <!-- new added feature since Camel 2.11.x
  <camel:conduit name="{http://widgets/widgetvendor.net}widgetSOAPPort.camel-conduit" camelContextId="conduit_context" />


  <camel:conduit name="*.camel-conduit">
  <!-- you can also using the wild card to specify the camel-conduit that you want to configure -->
    ...
  </camel:conduit>
...

camel:conduit 元素有多个指定配置信息的子元素。它们如下所述。

元素

描述

camel-spring:camelContext

您可以在 camel conduit 中指定 camel 上下文

camel:camelContextRef

要注入 camel conduit 的 camel 上下文 ID

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.