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

2024-01-11

最好的方法可能是手动完成。但在大型项目中,您需要一些工具来帮助您。正是这个想法促使我寻找一种工具。

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


它只开发了很短一段时间,但在一段时间内我们确实有一个 eclipse 插件,它可以读取 ejb-jar.xml 文件,然后更新源代码并插入注释。

它被编写它的人(Jonathan Gallimore)使用过几次,之后可能还会使用一两次。它至少在那时起了作用,如果你不担心可能需要卷起袖子,它可以节省你几周的时间。

  • http://svn.apache.org/repos/asf/openejb/trunk/openejb-eclipse-plugin/README.txt http://svn.apache.org/repos/asf/openejb/trunk/openejb-eclipse-plugin/README.txt
  • http://www.apache.org/dist/openejb/eclipse-plugin/ http://www.apache.org/dist/openejb/eclipse-plugin/

虽然我没有亲自使用过它,但我确实监督了它的开发。长话短说,所有注释都有 xml 版本(100% 阵容)。 EJB 容器必须有效地读取 xml,然后用注释数据填充空白。 xml数据胜过注释数据,所以这个处理基本上就是将注释转换成xml的行为。我们采用了 OpenEJB 的注释/xml 处理代码并将其翻转,以便不再将注释转换为 xml,而是将 xml 转换为注释 - 然后可以通过 eclipse API 轻松地将注释插入回源代码中。

如果它运行,它应该运行得很好并且不应该改变应用程序的逻辑。只需对描述符数据进行 xml-> 注释转换。

您仍然拥有 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。好吧,至少和这份工作一样幸福:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有任何 EJB 迁移工具可用于将 EJB 2.1 迁移到 EJB 3.x 的相关文章

  • 哪个类调用了我的静态方法?

    假设我有一个带有静态方法的 Java 类 如下所示 class A static void foo Which class invoked me 进一步假设 A 类有任意数量的子类 class B extends A class C ext
  • Eclipse 自动完成更改变量名称

    只是一个愚蠢的问题 但很难搜索 因为有很多关于 Eclipse 自动完成的主题 而且很难找到与我的问题匹配的内容 所以问题是 如果我写 MyClass MyVarName 然后按空格键 添加 new MyClass Eclipse 自动添加
  • 警告:跳过条目,因为它不是绝对 URI。 NetBeans 中的 GlassFish

    我成功安装了 GlassFish 但是 当我启动服务器时 我收到两条警告消息 警告 跳过条目 因为它不是绝对 URI 那是关于什么的 Launching GlassFish on Felix platform Aug 09 2014 10
  • 使用 java 的 RAR 档案 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将 JSON Map 传递到 Spring MVC 控制器

    我正在尝试将 Map 的 JSON 表示形式作为 POST 参数发送到我的控制器中 RequestMapping value search do method RequestMethod GET consumes application j
  • 适用于 Solaris 的 Java 8 中缺少 javaws

    看起来 Oracle 从 Java 8 for Solaris 中删除了 Java Web Start javaws 在 Java 8u51 中不再可用 来自兼容性指南 http www oracle com technetwork jav
  • 根据哈希值确认文件内容

    我需要 检查完整性 content文件数量 文件将写入 CD DVD 可能会被复制多次 这个想法是识别正确复制的副本 在从 Nero 等中删除它们之后 我对此很陌生 但快速搜索表明Arrays hashCode byte http down
  • Jodatime 日期格式

    是否可以格式化 JodaTime 日期 这是代码 private static LocalDate priorDay LocalDate date1 do date1 date1 plusDays 1 while date1 getDayO
  • 总结二维数组

    鉴于我当前的程序 我希望它在用户输入所有值后计算每列和每行的总和 我当前的代码似乎只是将数组的值加倍 这不是我想要做的 例如 如果用户输入具有以下值 1 2 3 2 3 4 3 4 5 的 3x3 矩阵 则看起来就像我在下面的程序中对其进行
  • JSON 对象数组转 Java POJO

    将此 JSON 对象转换为 java 中的类 您的 POJO 类中的映射将如何 ownerName Robert pets name Kitty name Rex name Jake This kind of question is ver
  • Ant 无法启动,给出主类错误

    我正在运行 Elementary OS 基于 Ubuntu 12 并且在运行 apache ant 时遇到问题 它在重新启动之前就可以正常工作 所以我不确定会发生什么变化 我在 etc environment 中定义了环境变量 如下所示 P
  • 将多个视频文件合并到一个文件中

    我有多个以相同帧速率和分辨率录制的视频 我想将两个视频合并为一个视频 因此结果文件将是大视频 我正在使用 MP4 解析器 api 并使用下面的代码 Movie countVideo new MovieCreator build Channe
  • 在 JavaFX 中拖动未装饰的舞台

    我希望将舞台设置为 未装饰 使其可拖动且可最小化 问题是我找不到这样做的方法 因为我遇到的示例是通过插入到主方法中的方法来实现的 我想通过控制器类中声明的方法来完成此操作 就像我如何使用下面的 WindowClose 方法来完成此操作 这是
  • 在Spring-Boot中,我们如何在同一个项目中连接两个数据库(Mysql数据库和MongoDB)?

    我正在尝试创建一个 Spring Boot 项目 其中我有一个要求 我想连接到不同的数据库 MySql 和 MongoDB 我是否需要做一些特殊的事情来连接到这两个数据库 或者 spring boot 会自动计算出自己连接到这两个数据库 我
  • 处理照片上传的最佳方式是什么?

    我正在为一个家庭成员的婚礼制作一个网站 他们要求的一个功能是一个照片部分 所有客人都可以在婚礼结束后前往并上传他们的照片 我说这是一个很棒的想法 然后我就去实现它 那么只有一个问题 物流 上传速度很慢 现代相机拍摄的照片很大 2 5 兆 我
  • Apache HttpClient TCP Keep-Alive(套接字保持活动)

    我的 http 请求需要太多时间才能被服务器处理 大约 5 分钟 由于连接闲置 5 分钟 代理服务器将关闭连接 我正在尝试在 Apache DefaultHttpClient 中使用 TCP Keep Alive 来使连接长时间处于活动状态
  • 如何修改生成的SOAP请求?

    我正处于创建输出拦截器并从 SOAP 消息中获取 OuputStream 的阶段 但是 如何在将 SOAP 信封发送到端点之前对其进行修改呢 我想删除一些 xml 元素 一种方法是获取文档并通过 XSLT 转换运行它 您可以通过调用来获取拦
  • 如何使用 Nimbus LookAndFeel 更改 JToolTip 的背景颜色?

    在使用 Nimbus LookAndFeel 的基于 Swing 的 Java 应用程序中 我尝试设置工具提示的背景颜色 因此 我创建了 JToolTip 的子类 并通过重写 createToolTip 在我的组件中使用它 到目前为止一切正
  • Drools:为什么是无状态会话?

    Drools 使用会话来存储运行时数据 为此 有两种会话 无状态和有状态 与无状态会话相比 有状态会话允许迭代调用 并且似乎比无状态会话具有所有优势 那么为什么会有无状态会话呢 他们服务的目的是什么 与有状态会话相比 它们的优势是什么 谢谢
  • Java,如何管理线程读取socket(websocket)?

    我有一个 WebSocket 服务器 我的服务器创建一个新线程来处理新连接 该线程一直处于活动状态 直到 websocket 中断 我的问题 对于 1 000 000 个连接 我需要 1 000 000 个线程 我如何通过一个线程处理多个

随机推荐

  • cygwin下使用GCC生成的可执行文件

    我正在使用 Cygwin 并已将 GCC 版本 4 3 4 20090804 release 1 安装为 Cygwin 软件包 当我在 Cygwin shell 下使用 GCC 构建 C 代码时 生成的可执行输出文件是类型为可执行文件 PE
  • 在运行时更改 spring-cloud-stream 实例索引/计数

    在 spring cloud stream 中 有没有一种方法可以在不重新启动应用程序的情况下更改应用程序的实例计数和实例索引 另外 是否有任何推荐的方法来自动填充这些值 在微服务世界中 这似乎非常困难 因为服务一直在启动和停止 在 spr
  • 在 python 中调试 argparse

    我可以知道调试 argpars 函数的最佳实践是什么 假设我有一个 py 文件 test file py 其中包含以下几行 Script start import argparse import os parser argparse Arg
  • Vue.js 单击时切换类

    如何在 vue js 中切换类 我有以下内容 th class initial span class wkday M span th new Vue el my container data methods myFilter functio
  • Grails:获取控制器内资产的本地存储路径

    我需要提取资产文件夹物理路径 以便从控制器写入文件 有什么简单的方法可以从控制器实现文件持久性吗 完整示例 class ExampleService def assetResourceLocator def someMethod Resou
  • UISwitch,Mac 上有类似的东西吗?

    我相信你们大多数人都熟悉UISwitch on iOS 他们是否有任何现有项目试图实施类似的东西UISwitch适用于 macOS 和 AppKit 如果没有 从哪里开始制作呢 我经常看到它们并且能想到很多用途 我认为你应该使用NSChec
  • 如何在颤振中显示带有顶部和底部渐变阴影的图像?

    我正在研究颤振以显示具有顶部和底部渐变叠加的图像 图像顶部和底部的某些部分应显示阴影 就像被其他颜色 如灰色 覆盖一样 请找到我画的附图供参考 我已将 Container 与 CachedNetworkImage 一起使用 并尝试使用 Bo
  • 如何在摇动设备时刷新应用程序?

    我需要添加一个摇动功能来刷新我的 Android 应用程序 我找到的所有文档都涉及实施SensorListener 但 Eclipse 告诉我它已被弃用并建议SensorEventListener 任何人都可以指导我如何创建这个shake
  • 如何检查函数/方法采用哪些参数? [复制]

    这个问题在这里已经有答案了 为了保持我用 Python 构建的几个模块的一致性 我想做一些自动代码检查 为此 我想检查模块的函数以及函数所采用的参数 我可以使用 hasattr 来检查模块是否确实包含预期的功能 到目前为止 一切都很好 我现
  • 向量在着色器语言中如何相乘?

    Such as gl FragColor v1 v2 我真的不明白它是如何相乘的 似乎参考文献给出了向量乘法矩阵的解释 ps 类型v1 and v2都是vec4 The 操作员工作组件方面 http en wikibooks org wik
  • 使用 GET 请求发送 POST 数据是否有效?

    例如 使用 Curl 我可以在 GET 请求中 发布 数据 发送实体主体 这是有效的做法吗 我的意思是 RFC 规范没有禁止吗 有人有充分理由使用它吗 See RFC2616 超文本传输 协议 HTTP 1 1 http www faqs
  • AppDomains 和 GC 堆

    是否存在单个 GC 堆进程宽分区 使得每个应用程序域都可以访问特定分区 或者每个应用程序域都有单独的GC堆 我确定其他堆 例如 HF 堆 LF 堆 存根堆 句柄表等等 所有这些堆都是为每个应用程序域单独分配的吗 GC堆也单独分配吗 这可能是
  • .dSYM 文件是如何创建的?

    我正在与另一位开发人员一起开发一个应用程序 他们刚刚向在他们的计算机上构建的应用程序商店提交了一个版本 为了在我的机器上进行构建 属于同一个 git 提交 我必须更改我们在 XCode 项目中使用的库之一的路径 我对 XCode 项目文件所
  • 比较日期范围

    在 MySQL 中 如果我有一个日期范围列表 范围开始和范围结束 例如 10 06 1983 to 14 06 1983 15 07 1983 to 16 07 1983 18 07 1983 to 18 07 1983 我想检查另一个日期
  • 最简单的内联方法左填充字符串[重复]

    这个问题在这里已经有答案了 可能的重复 是否有 JavaScript 函数可以填充字符串以达到确定的长度 https stackoverflow com questions 2686855 is there a javascript fun
  • 寻找一个好的 C++ 库来解析 AMF3 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用阿姆达尔定律计算性能增益

    我对阿姆达尔定律来确定性能增益和串行应用程序部分感到困惑 但未能弄清楚这一点 已知的是以下内容 S N Speedup factor for N CPU s N Number of CPU s f The part of the progr
  • 使用 REST 服务上传文件

    我使用以下 REST 服务 来自本教程 https javatutorial net java file upload rest service 使用 jersey 多部分实现将文件从不同数量的客户端上传到我的 GlassFish 服务器
  • 使用 UIAppearance 设置 UITableView 的背景颜色

    我正在尝试普遍更改表格视图的背景颜色 它是 UINavigationController 和 TabBarController 应用程序的组合 我尝试将以下内容放入 AppDelegate applicationDidFinishLaunc
  • 是否有任何 EJB 迁移工具可用于将 EJB 2.1 迁移到 EJB 3.x

    最好的方法可能是手动完成 但在大型项目中 您需要一些工具来帮助您 正是这个想法促使我寻找一种工具 是否有任何 EJB 迁移工具可用于将 EJB 2 0 迁移到 3 x 它只开发了很短一段时间 但在一段时间内我们确实有一个 eclipse 插