2 Replies Latest reply on Oct 9, 2005 7:59 AM by prwhitfield

    Container/EAR isolation of JARs

    bmelloni

      jBoss is a great free server and is based on many standard technologies (jakarta-commons, log4j, hibernate, etc), technologies that we use in our own applications.

      The versions of these technologies may be different in our apps than those in jBoss, due to many reasons.

      Unfortunately, jBoss has had trouble in isolating our applications from the JAR files it uses for these technologies. For example, from version 3.2.6 go 4.0.1 logging "leaked", in 4.0.2 (at the version I tested) had troubles with applications supplying their own Hibernate. This happens even after doing all the workarounds: configuring for J2EE 1.4 compliance, packaging the apps as EARs with the correct jBoss classloader information, etc.

      This posting is not a complaint. jBoss is what it is, and since it is free we accept it an live with it - its many other benefits usually compensate for its defects. But we still need to get the job done, so here's my question:

      Does anyone know of a version of jBoss that properly isolates jars for an application using (and fully supplying jars in version different than those in jBoss) the following technologies: log4j, hibernate, struts, tiles, spring, xerces and the jakarta commons libraries?

      If none exists, and a jBoss person reads this, is such a version planned for the near future? I could probably live with 4.0.0 or 4.0.1 until it came out if it happened soon.

        • 1. Re: Container/EAR isolation of JARs
          starksm64

          The only way its going to happen is if jira issues are raised which illustrate the usecases that are failing. To date any issue you have raised has been resolved as far as I know.

          • 2. Re: Container/EAR isolation of JARs
            prwhitfield

            Before I log a jira issue (just in case I've done something wrong), I am experiencing a similar issue with JBoss 4.0.2, log4j 1.2.9 and hibernate 2.1.8

            Although the logs show that JBoss is loading my log4j jar properly (I have specified isolated classloading using jboss-web.xml with java2ParentDelegation set to false) and all my other logging is going to my app log file correctly, hibernate log entries still go to server.log as per the log4j.xml in the standard config.

            I can only guess that this is because hibernate is not being loaded by my hierarchical classloader, however I can't find the hibernate jars anywhere else in my standard install (apart from the deployment war which I have removed for the moment).

            So, it seems to me that the issues referred to in the initial post are at least still present in 4.0.2. Of course it's altogether possible that I've missed something out as I'm relatively new to JBoss and information on this topic isn't exactly abundant...

            Please let me know if I should go ahead and log a jira issue.

            Cheers,

            Pete