问题描述
我在 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 通信。