I have few weeks, I'm trying to sync up some of the few changes I made in the last year before the code is moved to svn and try a bit more the 'embedded' scenario ( both single-jar tomcat - that actually works well, and also coyote-only ).

I uploaded 2 jars at http://people.apache.org/~costin/mini - one has full jasper, the other only the jsp runtime. There are still few requirements on the dir structure - you need to have the conf/web.xml, work/, webapps/, but besides that it's just 'java -jar tomcat+jasper.jar', no extra jars required.

tomcat-http11.jar is just coyote, with a javascript adapter as example ( let me know if you want to play with it, I'll send additional info ).

Costin


Henri Gomez wrote:
Happy to see Costin is back :)

15 Sep 2005 06:04:01 -0000, [EMAIL PROTECTED] <[EMAIL PROTECTED]>:

costin      2005/09/14 23:04:01

 Modified:    catalina/src/share/org/apache/catalina/startup
                       Bootstrap.java
 Log:
 Support for corner case, when all tomcat is in a single jar and no fancy 
classloaders are used.

 Revision  Changes    Path
 1.23      +9 -5      
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/Bootstrap.java

 Index: Bootstrap.java
 ===================================================================
 RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/Bootstrap.java,v
 retrieving revision 1.22
 retrieving revision 1.23
 diff -u -r1.22 -r1.23
 --- Bootstrap.java    3 May 2005 14:12:52 -0000       1.22
 +++ Bootstrap.java    15 Sep 2005 06:04:01 -0000      1.23
 @@ -95,6 +95,10 @@
      private void initClassLoaders() {
          try {
              commonLoader = createClassLoader("common", null);
 +            if( commonLoader == null ) {
 +                // no config file, default to this loader - we might be in a 
'single' env.
 +                commonLoader=this.getClass().getClassLoader();
 +            }
              catalinaLoader = createClassLoader("server", commonLoader);
              sharedLoader = createClassLoader("shared", commonLoader);
          } catch (Throwable t) {
 @@ -122,10 +126,10 @@
              // Local repository
              boolean packed = false;
              if (repository.startsWith(CATALINA_HOME_TOKEN)) {
 -                repository = getCatalinaHome()
 +                repository = getCatalinaHome()
                      + repository.substring(CATALINA_HOME_TOKEN.length());
              } else if (repository.startsWith(CATALINA_BASE_TOKEN)) {
 -                repository = getCatalinaBase()
 +                repository = getCatalinaBase()
                      + repository.substring(CATALINA_BASE_TOKEN.length());
              }

 @@ -159,14 +163,14 @@
          // Retrieving MBean server
          MBeanServer mBeanServer = null;
          if (MBeanServerFactory.findMBeanServer(null).size() > 0) {
 -            mBeanServer =
 +            mBeanServer =
                  (MBeanServer) MBeanServerFactory.findMBeanServer(null).get(0);
          } else {
              mBeanServer = MBeanServerFactory.createMBeanServer();
          }

          // Register the server classloader
 -        ObjectName objectName =
 +        ObjectName objectName =
              new ObjectName("Catalina:type=ServerClassLoader,name=" + name);
          mBeanServer.registerMBean(classLoader, objectName);





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to