首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建向后兼容的JAX和JAX?

如何创建向后兼容的JAX和JAX?
EN

Stack Overflow用户
提问于 2010-11-16 18:18:15
回答 1查看 1.2K关注 0票数 6

JAX和JAX非常适合于生产API。然而,它们根本没有解决向后兼容性的问题。

为了避免在API中引入新功能时破坏旧客户端,您实际上必须接受并提供与以前完全相同的输入和输出格式;如果发现没有映射到任何内容或类型错误的字段,那么许多XML和JSON解析器似乎都是合适的。

有些JSON库,例如Jackson和Gson,提供了一个特性,您可以根据运行时设置为给定对象指定不同的输入/输出表示形式,这在许多情况下似乎是处理版本控制的合适方法。这样就可以通过注释、添加和删除字段来提供向后兼容性,因此它们只会根据客户端使用的API版本出现。

到目前为止,JAXB和我发现的任何其他XML数据库库都没有对这个概念有很好的支持,更不用说能够对JSON和XML重复使用相同的注释了。将其添加到JAXB或EclipseLink Moxy似乎是可能的,但令人望而生畏。

版本控制的另一种方法似乎是对所有已更改的类进行版本化,通常是在每次发布API时创建一个新包,并在新包中复制所有已修改的DTO、Service和Resource类,以便为绑定和调度系统对所有类型信息进行版本化。对我来说,这种方法似乎更加费劲。

我的问题是:您是如何为向后兼容性设计Jave提供程序的?什么起作用了,什么不起作用?

关于这一主题的案例研究或博客文章的链接非常受欢迎;我已经做了一些谷歌搜索,但一直没有发现太多的讨论。

EN

回答 1

Stack Overflow用户

发布于 2010-11-16 18:28:32

我是EclipseLink MOXy的技术主管,我对您的版本控制需求非常感兴趣。你可以通过我的博客联系我:

  • 01.html

MOXy提供了一种将JAXB元数据表示为XML文件的方法。您可以利用这一点为同一个对象模型创建多个映射:

  • http://wiki.eclipse.org/EclipseLink/Examples/MOXy/EclipseLink-OXM.XML
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4197528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档