2 Replies Latest reply on Jul 27, 2005 9:41 AM by Bruno Melloni


    Bruno Melloni Newbie

      I recently received an email about a migration survey. But it did not ask the right questions, which prompts me to the following suggestion. (It is posted here because there is no fully appropriate forum for this issue, and this is the "closest forum to the topic".

      If an application is written in strict compliance to J2EE 1.4 (which we do) and packaged as an EAR (which we do), and it deploys cleanly to most other servers without modification (which it does), shouldn't it be possible to deploy it in jBoss easily, without any complications?

      The problem is... it doesn't. We have tried every version of jBoss from 3.2.3 to the latest 4.0.2, and configured the 4.0.x versions for J2EE 1.4.2 compatibility. Even with the latest version we still have some minor issues. The problem is that jBoss is so designed to have a single classloader (for performance) that it has had problems for years supporting isolation of deployed EARs so that they could just be "dropped in" without customization for jBoss. jBoss 4.0.0 had the right idea, with a "default" and a "standard" configuration.

      My suggestion is that future versions of jBoss should include a configuration for MAXIMUM compliance, even if it is not the "default" configuration.

        • 1. Re: Migration
          Ulf Schroeter Novice

          Only JBoss 4.x is J2EE 1.4 compliant. JBoss 3.2.x is J2EE 1.3 compliant. EAR isolation can be achived by a modification of .../conf/jboss-service.xml

           <mbean code="org.jboss.deployment.EARDeployer" name="jboss.j2ee:service=EARDeployer">
           <!-- Isolate all ears in their own classloader space -->
           <attribute name="Isolated">true</attribute>
           <!-- Enforce call by value to all remote interfaces -->
           <attribute name="CallByValue">true</attribute>


          • 2. Re: Migration
            Bruno Melloni Newbie

            Thank you, I am aware of these details (and many more... I participated in many discussions and tests on the topic over the last year). The problem is that full 100% isolation (not just between ears but even between the ears jBoss itself) is very hard to achieve and perhaps not yet fully possible on jBoss (i.e.: unwanted interactions of libraries like log4j, commons, etc.).

            jBoss has made great improvements in this area but I don't think there is a version of jBoss (and corresponding configuration instructions "that work") to fully achieve it. Which is why I suggest the "100% J2EE 1.4 compliant" configuration in addition to the current ones for future versions... simply to reduce the massive pain that is deploying "portable applications" on jBoss.