首页 文章

关于继承类的JAXB解组

提问于
浏览
0

这是关于在处理编组/解组继承类时JAXB编组的一个经典问题 . 通常的解决方案是使用 @XmlSeeAlso 或使用 JAXBContext.newInstance(child.class) 创建子类上下文 . 但在我们的例子中,我们正在处理插件类型体系结构(Java ServiceLoader),其中我们不知道在运行时加载哪个插件,但插件的请求消息扩展了常见的RequestMessage类和ResponseMessage类的响应消息 . 因此,在这种情况下使用 @XmlSeeAlso 或新的上下文选项是不可行的,因为它会绑定到正在创建和附加的插件 .

使用JAXB本身还有其他替代方案吗?或者我们是否必须使用任何其他JAXB替代品,如Xstream?

谢谢,
稻田

1 回答

  • 0

    如果在创建JAXB上下文之前插件全部可用,则可以使用类路径扫描来发现直接或间接扩展 RequestMessage 并自动将它们包含在类列表中的类 .

相关问题