2 Replies Latest reply on Feb 18, 2009 11:19 AM by ronnie1972

    Java2ParentDelegation and multiple files

    ronnie1972

      I've taken over a project that has the following deployment:

      myApp.ear
      -----application.xml
      -----Manifest.mf
      -----webinf-lib.jar
      -----myWar.war
      -----------javax.servlet.jar
      -----------web.xml
      -----------Manifest.mf
      -----myWsr.wsr
      -----------jar1.jar
      -----------xbean.jar
      -----------jar3.jar
      -----------Manifest.mf
      -----------web-service.xml
      


      xbean.jar is also in the jboss server's server/default/lib directory.
      I have read the two docs that show me what I need to do to make the application use MY xbean.jar (newer version):
      http://www.jboss.org/community/docs/DOC-9288
      http://www.jboss.org/community/docs/DOC-10290

      So I know that I need to turn off java2ParentDelegation.

      I've tried everyway I can think to make this work, but still have a few questions.

      1. I notice the examples show com.example:archive=unique-archive-name, but then refer to com.example:loader=unique-archive-name. I'm not exactly sure why, or which is correct.
      2. in my example I originally thought I only needed a meta-inf/jboss-app.xml in the ear file, but I've tried it with putting a web-inf/jboss-web.xml in the war file and the wsr (I wasn't exactly sure what should go in the wsr). Should the .wsr have anything in it?

      Nothing seems to work quite right (they definitely stop using the classes from the server, but appear to not find my classes either).

      Here's my jboss-app.xml file:

      <jboss-app>
       <loader-repository>
       org.apache.xmlbeans:loader=myApp.ear
       <loader-repository-config>
       java2ParentDelegation=false
       </loader-repository-config>
       </loader-repository>
      </jboss-app>


      Unfortunately I don't have much control over the server. I know I've done something wrong (I'm pretty new to deployments in general) but I can't quite put my finger on it.
      Any help would be greatly appreciated.

        • 1. Re: Java2ParentDelegation and multiple files
          ronnie1972

          Sorry, manifest and xml files are in the appropriate directory (meta-inf or web-inf). Not shown in my original deployment correctly.

          • 2. Re: Java2ParentDelegation and multiple files
            ronnie1972

            Ok I figured it out. Basically I was doing it very closely to correctly but since I had a War file and a wsr file that were sharing classes it was failing because it was TOO isolated.

            The solution was to use a loader-repository, but turn java2ParentDelegation ON (since they were shared):

            <jboss-app>
             <loader-repository>
             myapp:archive=myApp.ear
             <loader-repository-config>
             java2ParentDelegation=true
             </loader-repository-config>
             </loader-repository>
            </jboss-app>