Search code examples
jbossejbweblogicear

Migration of EJB 2.1 from Weblogic to JBoss


I have a (very) old application written with several Message Driven Beans (don't worry, I will eventually chainsaw them out and write something maintainable into the future).

The application is packaged as an EAR with multiple JARs inside. Here's a simplified layout:

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

My problem arises due to the fact that the EAR works fine with Weblogic 10.3.x, but classes in the appEjb module (built as appEjb.jar inside the EAR) cannot see a class in the appDataModel (built as appDataModel.jar inside the EAR) when I deploy to JBoss 6.4 EAP. I've also run Red Hat's migration tool, but nothing was suggested (related to this anyways)

I've tried setting the isolation in jboss-deployement-structure.xml to false, with no luck. This could be something simple, or it could be something related to difference in classloading: I really have no idea.

Is there anyone out there who can help?


Solution

  • If appDataModel and appJaxbModel are not ejb-jars then move them to a lib directory inside the EAR. They will then be visible to everything.

    You should finish up with a structure like:

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

    This is completely portable and should also work in WebLogic 10.3.x

    (I'm assuming that your last module was intended to be a WAR, as you cannot package an EAR within an EAR).