可能是最好的方法是手动进行。但是在一个大型项目中,您需要一些工具来帮助您。正是这个想法让我搜索了一个工具。
是否有任何 EJB 迁移工具可用于将 EJB 2.0 迁移到 3.x。
它只开发了很短的时间,但有一段时间我们确实有一个 eclipse 插件,它可以读取 ejb-jar.xml 文件,然后更新源代码并插入注释。
编写它的人(Jonathan Gallimore)已经使用了几次,之后可能还会使用一两次。至少当时它确实奏效了,如果你不害怕卷起袖子,它可以为你节省数周的时间。
虽然我没有亲自使用它,但我确实监督了它的开发。长话短说,所有注释都有 xml 版本(100% 阵容)。EJB 容器必须有效地读取 xml,然后用注释数据填补空白。xml 数据胜过注解数据,因此这个处理基本上是将注解转换为 xml 的行为。我们采用了 OpenEJB 的注解/xml 处理代码并将其翻转过来,而不是将注解转换为 xml,而是将 xml 转换为注解——然后可以通过 eclipse API 轻松地将注解插入回源代码中。
如果它运行,它应该运行良好并且不应该改变你的应用程序的逻辑。只需对描述符数据进行 xml->annotation 转换。
您仍将拥有 EJB 2.x 视图,但它们将以注释形式在您的代码中进行配置。
不过,在做类似的事情之前,我会使用另一个问题中提到的 EJBContainer API 针对 EJB 2.x 代码设置单元测试。然后使用转换工具。然后重构出 EJB 2.x 视图,因为您不必总是弄乱 xml。
所以基本上:
沿着这条路走,您应该会愉快地从 EJB 2.x 过渡到 3.x。好吧,至少和这份工作一样幸福:)
是的,IntelliJ EJB 重构工具: http: //www.jetbrains.com/idea/webhelp/migrating-to-ejb-3-0.html
但我确信这不是唯一的解决方案。
没有这样的,下面的链接提供了对代码库潜在变化的洞察。EJB2-EJB3 迁移