将 EJB 2.1 从 Weblogic 迁移到 JBoss

Migration of EJB 2.1 from Weblogic to JBoss

我有一个(非常)旧的应用程序,它是用几个消息驱动的 Bean 编写的(别担心,我最终会用链锯将它们删除并编写一些可维护的东西以备将来使用)。

该应用程序被打包为一个 EAR,其中包含多个 JAR。这是一个简化的布局:

- app
  -- appDataModel
  -- appJaxbModel
  -- appEjb
  -- appEar

我的问题是由于 EAR 在 Weblogic 10 上运行良好。3.x,但在 appEjb 模块中 classes(在 EAR 中构建为 appEjb.jar)当我部署到 JBoss 6.4 EAP 时,在 appDataModel(在 EAR 中构建为 appDataModel.jar)中看不到 class。我也 运行 Red Hat 的迁移工具,但没有任何建议(无论如何与此相关)

我尝试将 jboss-deployement-structure.xml 中的隔离设置为 false,但没有成功。这可能很简单,也可能与class加载的差异有关:我真的不知道。

有没有人可以提供帮助?

如果 appDataModelappJaxbModel 不是 ejb-jars,则将它们移动到 EAR 中的 lib 目录。然后它们将对所有内容可见。

你应该完成这样的结构:

- app
  -- lib
      -- appDataModel
      -- appJaxbModel
  -- appEjb
  -- appWar

这是完全可移植的,应该也适用于 WebLogic 10。3.x

(我假设您的最后一个模块是 WAR,因为您不能将 EAR 打包在一个 EAR 中)。