5

可能是最好的方法是手动进行。但是在一个大型项目中,您需要一些工具来帮助您。正是这个想法让我搜索了一个工具。

是否有任何 EJB 迁移工具可用于将 EJB 2.0 迁移到 3.x。

4

3 回答 3

8

它只开发了很短的时间,但有一段时间我们确实有一个 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。

所以基本上:

  • 为现有代码添加测试
  • 使用 xml->annotation Eclipse 插件进行转换(运行测试)
  • 将 EJB 2.x 视图重构为 EJB 3.x @Local 或 @LocalBean 视图(运行测试)

沿着这条路走,您应该会愉快地从 EJB 2.x 过渡到 3.x。好吧,至少和这份工作一样幸福:)

于 2012-04-13T05:20:00.177 回答
2

是的,IntelliJ EJB 重构工具: http: //www.jetbrains.com/idea/webhelp/migrating-to-ejb-3-0.html

但我确信这不是唯一的解决方案。

于 2012-11-21T10:16:15.650 回答
0

没有这样的,下面的链接提供了对代码库潜在变化的洞察。EJB2-EJB3 迁移

Java.net 文章

于 2012-04-12T09:27:53.220 回答