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-soap
和 camel-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
组件删除了选项 bridgeEndpoint
和 circularTopicDetection
,因为组件不再需要,因为组件在 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-xslt
和 camel-xslt-saxon
。组件被分开,因此 camel-xslt
用于使用 JDK XSTL 引擎(Xalan),camel-xslt-saxon
是使用 Saxon 时的。这意味着,您应该在 Camel 端点 URI 中使用 xslt
和 xslt-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> 改为 <
; customLoadBalancer>
在 <secureXML>
tag 中,XMLSecurity 数据格式将属性 keyOrTrustStoreParametersId
重新命名为 keyOrTrustStoreParametersRef
。
& lt;zipFile&
gt; 数据格式已重命名为 < zipfile>
。