3.7. Camel 组件的更改

3.7.1. Mock 组件

mock 组件已从 camel-core 移出。由于其 assertion 子句构建器 上的许多方法已被删除。

3.7.2. ActiveMQ

如果您使用 activemq-camel 组件,则应迁移到使用 camel-activemq 组件,其中组件名称已从 org.apache.activemq.camel.component.ActiveMQComponent 改为 org.apache.camel.component.activemq.ActiveMQComponent

3.7.3. AWS

组件 camel-aws 被分成多个组件:

  • camel-aws-cw
  • camel-aws-ddb (包含 ddb 和 ddbstreams 组件)
  • camel-aws-ec2
  • camel-aws-iam
  • camel-aws-kinesis (其中包含 kinesis 和 kinesis-firehose 组件)
  • camel-aws-kms
  • camel-aws-lambda
  • camel-aws-mq
  • camel-aws-s3
  • camel-aws-sdb
  • camel-aws-ses
  • camel-aws-sns
  • camel-aws-sqs
  • camel-aws-swf
注意

建议为这些组件添加特定的依赖项。

3.7.4. Camel CXF

camel-cxf JAR 已分为 SOAP 与 REST 和 Spring JAR。当从 came-cxf 进行迁移时,建议从以下列表中选择特定的 JAR。

  • camel-cxf-soap
  • camel-cxf-spring-soap
  • camel-cxf-rest
  • camel-cxf-spring-rest
  • camel-cxf-transport
  • camel-cxf-spring-transport

例如,如果您使用 CXF 用于 SOAP 并使用 Spring XML,那么在从 camel-cxf 进行迁移时,请选择 camel-cxf-spring-soapcamel-cxf-spring-transport

使用 Spring Boot 时,当您从 camel-cxf-starter 迁移到 SOAP 或 REST 时,从以下入门中选择:

  • camel-cxf-soap-starter
  • camel-cxf-rest-starter

3.7.4.1. Camel CXF 更改命名空间

camel-cxf XML XSD 模式也更改了命名空间。

camel-cxf SOAP 组件被移到一个新的 jaxws 子软件包,即 org.apache.camel.component.cxf 现在是 org.apache.camel.component.cxf.jaws。例如,CxfComponent 类现在位于 org.apache.camel.component.cxf.jaxws

3.7.5. FHIR

camel-fhir 组件已将其 hapi-fhir 依赖项升级到 4.1.0。默认 FHIR 版本已改为 R4。因此,如果需要 DSTU3,则必须明确设置它。

3.7.6. Kafka

camel-kafka 组件删除了选项 bridgeEndpointcircularTopicDetection,因为组件不再需要,因为组件在 Camel 2.x 上可以正常工作。换句话说,camel-kafka 将从 endpoint uri 发送消息到主题。要覆盖它,请使用带有新主题的 KafkaConstants.OVERRIDE_TOPIC 标头。请参阅 camel-kafka 组件文档以了解更多信息。

3.7.7. telegram

camel-telegram 组件已将授权令牌从 uri-path 移到查询参数,如 migrate

telegram:bots/myTokenHere

to

telegram:bots?authorizationToken=myTokenHere

3.7.8. JMX

如果您只使用 camel-core 作为依赖项运行 Camel 独立,并且希望开箱即用启用 JMX,则需要将 camel-management 添加为依赖项。

对于使用 ManagedCamelContext,您需要从 CamelContext 获取此扩展,如下所示:

ManagedCamelContext managed = camelContext.getExtension(ManagedCamelContext.class);

3.7.9. XSLT

XSLT 组件已从 camel-core 移到 camel-xsltcamel-xslt-saxon。组件被分开,因此 camel-xslt 用于使用 JDK XSTL 引擎(Xalan),camel-xslt-saxon 是使用 Saxon 时的。这意味着,您应该在 Camel 端点 URI 中使用 xsltxslt-saxon 作为组件名称。如果您使用 XSLT 聚合策略,则使用 org.apache.camel.component.xslt.saxon.XsltSaxonAggregationStrategy 进行 Saxon 支持。并使用 org.apache.camel.component.xslt.saxon.XsltSaxonBuilder 进行 Saxon 支持(如果使用 xslt 构建器)。另请注意,只有 camel-xslt-saxon 中也支持 allowStax,因为 JDK XSLT 不支持它。

3.7.10. XML DSL 迁移

XML DSL 稍微改变。

自定义负载均衡器 EIP 已从 < custom> 改为 &lt; customLoadBalancer>

<secureXML> tag 中,XMLSecurity 数据格式将属性 keyOrTrustStoreParametersId 重新命名为 keyOrTrustStoreParametersRef

& lt;zipFile& gt; 数据格式已重命名为 < zipfile>