如何将 JAXB 上下文从 MULE 3 迁移到 MULE 4?

问题描述

我在 MULE 3 项目中配置了一个 JAXB 上下文:

<mulexml:jaxb-context name="JAXB_Context" packageNames="com.company.util" doc:name="JAXB Context" />
<spring:beans>
    <context:component-scan base-package="com.company.package" />
</spring:beans>

运行迁移工具后,配置缩短为:

<mulexml:jaxb-context name="JAXB_Context" packageNames="com.company.util" doc:name="JAXB Context" />

在全局元素部分,此元素的类型为 Unknown

我在迁移报告中绝对没有关于此元素的错误、警告或信息。

我该如何解决这个问题?

解决方法

Mule 4 不再支持

<mulexml:jaxb-context>。迁移工具无法迁移它,因为它不受支持。根据文档 (Migrating the XML Module):

不再与 Java 绑定:它不再使用 SAX、StaX 或 DOM 类型。 Mule 4 现在是强类型的,我们有关于 哪些数据是 XML 格式的。运行时完成剩下的工作。所有 XML 文档表示为字符串或流。这意味着 以下不再存在(不再需要):

  • dom-to-xml-transformer
  • dom-to-output-handler-transformer
  • xml-to-dom-transformer
  • xml-prettyprinter-transformer
  • jaxb-object-to-xml-transformer
  • jaxb-xml-to-object-transformer
  • jaxb 上下文
  • object-to-xml-transformer
  • xml-to-object-transformer

您必须决定是否真的有理由在您的 Mule 4 应用程序中使用 JAXB。我想如果您需要它,您将不得不将其使用限制在 Java 类内部,而不是通过类边界进行 JAXB 通信。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...