cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader WebappLoader.java

2004-08-16 Thread remm
remm2004/08/16 02:31:09

  Modified:catalina/src/share/org/apache/catalina/session
ManagerBase.java
   catalina/src/share/org/apache/catalina/core
StandardEngine.java StandardServer.java
StandardContext.java StandardHost.java
   catalina/src/share/org/apache/catalina Loader.java Host.java
Manager.java Engine.java
   catalina/src/share/org/apache/catalina/mbeans
DefaultContextMBean.java MBeanFactory.java
ServerLifecycleListener.java MBeanUtils.java
   catalina/src/share/org/apache/catalina/loader
WebappLoader.java
  Removed: catalina/src/share/org/apache/catalina/core
StandardDefaultContext.java
   catalina/src/share/org/apache/catalina DefaultContext.java
  Log:
  - Remove DefaultContext.
  - This will need cleanups.
  - For management, I think we should register dummy Context objects with special JMX 
names.
  
  Revision  ChangesPath
  1.31  +1 -32 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- ManagerBase.java  15 Jul 2004 19:12:45 -  1.30
  +++ ManagerBase.java  16 Aug 2004 09:31:05 -  1.31
  @@ -38,7 +38,6 @@
   import javax.management.ObjectName;
   
   import org.apache.catalina.Container;
  -import org.apache.catalina.DefaultContext;
   import org.apache.catalina.Engine;
   import org.apache.catalina.Manager;
   import org.apache.catalina.Session;
  @@ -89,12 +88,6 @@
   
   
   /**
  - * The DefaultContext with which this Manager is associated.
  - */
  -protected DefaultContext defaultContext = null;
  -
  -
  -/**
* Return the MessageDigest implementation to be used when
* creating session identifiers.
*/
  @@ -251,30 +244,6 @@
   }
   
   
  -/**
  - * Return the DefaultContext with which this Manager is associated.
  - */
  -public DefaultContext getDefaultContext() {
  -
  -return (this.defaultContext);
  -
  -}
  -
  -
  -/**
  - * Set the DefaultContext with which this Manager is associated.
  - *
  - * @param defaultContext The newly associated DefaultContext
  - */
  -public void setDefaultContext(DefaultContext defaultContext) {
  -
  -DefaultContext oldDefaultContext = this.defaultContext;
  -this.defaultContext = defaultContext;
  -support.firePropertyChange(defaultContext, oldDefaultContext, 
this.defaultContext);
  -
  -}
  -
  -
   /** Returns the name of the implementation class.
*/
   public String getClassName() {
  
  
  
  1.25  +5 -63 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardEngine.java
  
  Index: StandardEngine.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardEngine.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- StandardEngine.java   27 Feb 2004 14:58:42 -  1.24
  +++ StandardEngine.java   16 Aug 2004 09:31:05 -  1.25
  @@ -18,12 +18,14 @@
   package org.apache.catalina.core;
   
   
  +import java.io.File;
  +import java.util.List;
  +
   import javax.management.MBeanServer;
   import javax.management.MalformedObjectNameException;
   import javax.management.ObjectName;
  +
   import org.apache.catalina.Container;
  -import org.apache.catalina.Context;
  -import org.apache.catalina.DefaultContext;
   import org.apache.catalina.Engine;
   import org.apache.catalina.Host;
   import org.apache.catalina.LifecycleException;
  @@ -35,8 +37,6 @@
   import org.apache.commons.logging.LogFactory;
   import org.apache.commons.modeler.Registry;
   import org.apache.commons.modeler.modules.MbeansSource;
  -import java.io.File;
  -import java.util.List;
   
   /**
* Standard implementation of the bEngine/b interface.  Each
  @@ -115,11 +115,6 @@
*/ 
   private List mbeans;
   
  -/**
  - * DefaultContext config
  - */
  -private DefaultContext defaultContext;
  -
   
   /**
* The JVM Route ID for this Tomcat instance. All Route ID's must be unique
  @@ -208,30 +203,6 @@
   
   
   /**
  - * Set the DefaultContext
  - * for new web applications.
  - *
  - * @param defaultContext The new DefaultContext
  - */
  -public void addDefaultContext(DefaultContext defaultContext) {
  -
  -DefaultContext 

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader WebappLoader.java

2003-11-26 Thread amyroh
amyroh  2003/11/26 10:46:02

  Modified:catalina/src/share/org/apache/catalina/loader
WebappLoader.java
  Log:
  Catch exception when there is an empty jar file.  Ignores the exception and continue 
loading other jar files in the dir - bugtraq 4670099.
  
  Revision  ChangesPath
  1.24  +10 -3 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java
  
  Index: WebappLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- WebappLoader.java 22 Sep 2003 12:31:41 -  1.23
  +++ WebappLoader.java 26 Nov 2003 18:46:02 -  1.24
  @@ -1109,8 +1109,15 @@
   continue;
   }
   
  -JarFile jarFile = new JarFile(destFile);
  -classLoader.addJar(filename, jarFile, destFile);
  +try {
  +JarFile jarFile = new JarFile(destFile);
  +classLoader.addJar(filename, jarFile, destFile);
  +} catch (Exception ex) {
  +// Catch the exception if there is an empty jar file
  +// Should ignore and continute loading other jar files 
  +// in the dir
  +}
  +
   loaderRepositories.add( filename );
   
   }
  
  
  

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



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader WebappLoader.java

2003-09-22 Thread remm
remm2003/09/22 05:31:41

  Modified:catalina/src/share/org/apache/catalina/loader
WebappLoader.java
  Log:
  - Fix destroy.
  
  Revision  ChangesPath
  1.23  +2 -2  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java
  
  Index: WebappLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- WebappLoader.java 21 Sep 2003 23:11:01 -  1.22
  +++ WebappLoader.java 22 Sep 2003 12:31:41 -  1.23
  @@ -670,9 +670,9 @@
   
   public void destroy() {
   if( controller==oname ) {
  -oname = null;
   // Self-registration, undo it
   Registry.getRegistry().unregisterComponent(oname);
  +oname = null;
   }
   initialized = false;
   
  
  
  

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



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader WebappLoader.java

2003-09-21 Thread amyroh
amyroh  2003/09/21 16:11:01

  Modified:catalina/src/share/org/apache/catalina/loader
WebappLoader.java
  Log:
  Fix to properly create Loader MBean at webapp restart - bugtraq 4924607.
  
  Revision  ChangesPath
  1.22  +3 -1  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java
  
  Index: WebappLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- WebappLoader.java 10 Sep 2003 15:40:27 -  1.21
  +++ WebappLoader.java 21 Sep 2003 23:11:01 -  1.22
  @@ -670,9 +670,11 @@
   
   public void destroy() {
   if( controller==oname ) {
  +oname = null;
   // Self-registration, undo it
   Registry.getRegistry().unregisterComponent(oname);
   }
  +initialized = false;
   
   }
   
  
  
  

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



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader WebappLoader.java

2003-09-10 Thread remm
remm2003/09/10 08:40:27

  Modified:catalina/src/share/org/apache/catalina/loader
WebappLoader.java
  Log:
  - Remove the artificial limit of 3 for classpath creation. It seems like a bad idea
to do this (if the parent CLs are not correctly setup, Tomcat won't work anyway).
  
  Revision  ChangesPath
  1.21  +2 -2  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java
  
  Index: WebappLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- WebappLoader.java 2 Sep 2003 21:22:03 -   1.20
  +++ WebappLoader.java 10 Sep 2003 15:40:27 -  1.21
  @@ -1154,7 +1154,7 @@
   ClassLoader loader = getClassLoader();
   int layers = 0;
   int n = 0;
  -while ((layers  3)  (loader != null)) {
  +while (loader != null) {
   if (!(loader instanceof URLClassLoader)) {
   String cp=getClasspath( loader );
   if( cp==null ) {
  
  
  

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



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader WebappLoader.java

2003-06-23 Thread remm
remm2003/06/23 14:44:32

  Modified:catalina/src/share/org/apache/catalina/loader
WebappLoader.java
  Log:
  - Add logging on initialization of the URL stream handler.
  
  Revision  ChangesPath
  1.19  +30 -9 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java
  
  Index: WebappLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- WebappLoader.java 20 Jun 2003 21:39:13 -  1.18
  +++ WebappLoader.java 23 Jun 2003 21:44:32 -  1.19
  @@ -164,6 +164,12 @@
   
   
   /**
  + * First load of the class.
  + */
  +private static boolean first = true;
  +
  +
  +/**
* The class loader being managed by this Loader component.
*/
   private WebappClassLoader classLoader = null;
  @@ -253,11 +259,18 @@
   protected PropertyChangeSupport support = new PropertyChangeSupport(this);
   
   
  -// Classpath set in the loader
  -private String classpath=null;
  +/**
  + * Classpath set in the loader.
  + */
  +private String classpath = null;
  +
  +
  +/**
  + * Repositories that are set in the loader, for JMX.
  + */
  +private ArrayList loaderRepositories = null;
  +
   
  -// repositories that are set in the loader, for jmx
  -private ArrayList loaderRepositories;
   // - Properties
   
   
  @@ -690,10 +703,18 @@
   // Register a stream handler factory for the JNDI protocol
   URLStreamHandlerFactory streamHandlerFactory =
   new DirContextURLStreamHandlerFactory();
  -try {
  -URL.setURLStreamHandlerFactory(streamHandlerFactory);
  -} catch (Throwable t) {
  -// Ignore the error here.
  +if (first) {
  +first = false;
  +try {
  +URL.setURLStreamHandlerFactory(streamHandlerFactory);
  +} catch (Exception e) {
  +// Log and continue anyway, this is not critical
  +log.error(Error registering jndi stream handler, e);
  +} catch (Throwable t) {
  +// This is likely a dual registration
  +log.info(Dual registration of jndi stream handler:  
  + + t.getMessage());
  +}
   }
   
   // Construct a class loader based on our current repositories list
  
  
  

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



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader WebappLoader.java

2003-06-20 Thread jfarcand
jfarcand2003/06/20 14:39:13

  Modified:catalina/src/share/org/apache/catalina/loader
WebappLoader.java
  Log:
  Fix NPE exception when an invalid war file is deployed:
  
  java.lang.NullPointerException
  at org.apache.catalina.loader.WebappLoader.closeJARs(WebappLoader.java:560)
  at org.apache.catalina.core.StandardContext.start(StandardContext.java:4140)
  at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.
  
  which cause:
  
  java.io.IOException: java.lang.NullPointerException
  at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDepl
  
  Revision  ChangesPath
  1.18  +4 -2  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java
  
  Index: WebappLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- WebappLoader.java 15 Jun 2003 07:22:16 -  1.17
  +++ WebappLoader.java 20 Jun 2003 21:39:13 -  1.18
  @@ -557,7 +557,9 @@
* Used to periodically signal to the classloader to release JAR resources.
*/
   public void closeJARs(boolean force) {
  -classLoader.closeJARs(force);
  +if (classLoader !=null){
  +classLoader.closeJARs(force);
  +}
   }
   
   
  
  
  

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



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader WebappLoader.java

2003-03-17 Thread costin
costin  2003/03/17 11:22:37

  Modified:catalina/src/share/org/apache/catalina/loader
WebappLoader.java
  Log:
  Fix the registration
  
  Revision  ChangesPath
  1.11  +4 -2  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java
  
  Index: WebappLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- WebappLoader.java 17 Mar 2003 07:37:32 -  1.10
  +++ WebappLoader.java 17 Mar 2003 19:22:37 -  1.11
  @@ -103,6 +103,7 @@
   import org.apache.catalina.LifecycleListener;
   import org.apache.catalina.Loader;
   import org.apache.catalina.Logger;
  +import org.apache.catalina.Engine;
   import org.apache.catalina.core.ContainerBase;
   import org.apache.catalina.core.StandardContext;
   import org.apache.catalina.util.LifecycleSupport;
  @@ -682,7 +683,8 @@
   // Register ourself. The container must be a webapp
   try {
   StandardContext ctx=(StandardContext)container;
  -oname=new ObjectName(ctx.getDomain() + :type=Loader,path= +
  +Engine eng=(Engine)ctx.getParent().getParent();
  +oname=new ObjectName(eng.getName() + :type=Loader,path= +
   ctx.getPath() + ,host= + ctx.getParent().getName());
   Registry.getRegistry().registerComponent(this, oname, null);
   controller=oname;
  
  
  

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



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader WebappLoader.java

2003-03-16 Thread costin
costin  2003/03/16 23:37:32

  Modified:catalina/src/share/org/apache/catalina/loader
WebappLoader.java
  Log:
  Add registration code
  
  Revision  ChangesPath
  1.10  +79 -2 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java
  
  Index: WebappLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- WebappLoader.java 12 Mar 2003 06:33:37 -  1.9
  +++ WebappLoader.java 17 Mar 2003 07:37:32 -  1.10
  @@ -86,6 +86,10 @@
   import javax.naming.NameClassPair;
   import javax.naming.NamingEnumeration;
   import javax.naming.directory.DirContext;
  +import javax.management.MBeanRegistration;
  +import javax.management.ObjectName;
  +import javax.management.MBeanServer;
  +import javax.management.MalformedObjectNameException;
   import org.apache.naming.resources.Resource;
   import org.apache.naming.resources.DirContextURLStreamHandler;
   import org.apache.naming.resources.DirContextURLStreamHandlerFactory;
  @@ -99,10 +103,13 @@
   import org.apache.catalina.LifecycleListener;
   import org.apache.catalina.Loader;
   import org.apache.catalina.Logger;
  +import org.apache.catalina.core.ContainerBase;
  +import org.apache.catalina.core.StandardContext;
   import org.apache.catalina.util.LifecycleSupport;
   import org.apache.catalina.util.StringManager;
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
  +import org.apache.commons.modeler.Registry;
   
   
   /**
  @@ -124,7 +131,7 @@
*/
   
   public class WebappLoader
  -implements Lifecycle, Loader, PropertyChangeListener, Runnable {
  +implements Lifecycle, Loader, PropertyChangeListener, Runnable, 
MBeanRegistration  {
   
   // --- Constructors
   
  @@ -664,6 +671,41 @@
   
   }
   
  +private boolean initialized=false;
  +
  +public void init() {
  +initialized=true;
  +
  +if( oname==null ) {
  +// not registered yet - standalone or API
  +if( container instanceof StandardContext) {
  +// Register ourself. The container must be a webapp
  +try {
  +StandardContext ctx=(StandardContext)container;
  +oname=new ObjectName(ctx.getDomain() + :type=Loader,path= +
  +ctx.getPath() + ,host= + ctx.getParent().getName());
  +Registry.getRegistry().registerComponent(this, oname, null);
  +controller=oname;
  +} catch (Exception e) {
  +log.error(Error registering loader, e );
  +}
  +}
  +}
  +
  +if( container == null ) {
  +// JMX created the loader
  +// TODO
  +
  +}
  +}
  +
  +public void destroy() {
  +if( controller==oname ) {
  +// Self-registration, undo it
  +Registry.getRegistry().unregisterComponent(oname);
  +}
  +
  +}
   
   /**
* Start this component, initializing our associated class loader.
  @@ -672,6 +714,7 @@
*/
   public void start() throws LifecycleException {
   // Validate and update our current component state
  +if( ! initialized ) init();
   if (started)
   throw new LifecycleException
   (sm.getString(webappLoader.alreadyStarted));
  @@ -769,6 +812,8 @@
   DirContextURLStreamHandler.unbind((ClassLoader) classLoader);
   classLoader = null;
   
  +destroy();
  +
   }
   
   
  @@ -1419,4 +1464,36 @@
   
   private static org.apache.commons.logging.Log log=
   org.apache.commons.logging.LogFactory.getLog( WebappLoader.class );
  +
  +private ObjectName oname;
  +private MBeanServer mserver;
  +private String domain;
  +private ObjectName controller;
  +
  +public ObjectName preRegister(MBeanServer server,
  +  ObjectName name) throws Exception {
  +oname=name;
  +mserver=server;
  +domain=name.getDomain();
  +
  +return name;
  +}
  +
  +public void postRegister(Boolean registrationDone) {
  +}
  +
  +public void preDeregister() throws Exception {
  +}
  +
  +public void postDeregister() {
  +}
  +
  +public ObjectName getController() {
  +return controller;
  +}
  +
  +public void setController(ObjectName controller) {
  +this.controller = controller;
  +}
  +
   }
  
  
  

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

Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader WebappLoader.java

2003-03-12 Thread Costin Manolache
Remy Maucherat wrote:


   +for( int i=0; irepositories.length ; i++ ) {
   +sb.append( repositories[i]).append(:);
   +}
 
 I think your should use the path separator here.

You're right. I put it in mostly for debug. I'll fix it.

Costin


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



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader WebappLoader.java

2003-03-11 Thread costin
costin  2003/03/11 22:33:37

  Modified:catalina/src/share/org/apache/catalina/loader
WebappLoader.java
  Log:
  Few getters ( Remy: don't panic, I'm not changing the loader ! ).
  
  The array will collect the loaders that are set into the class loader
  and allow JMX to view the actual classpath ( if the loader is registered ).
  
  I also added a bit more info in case something is missing.
  
  Knowing the exact classpath of a webapp can be extremely usefull when debugging
  strange bugs...
  
  Revision  ChangesPath
  1.9   +48 -10
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java
  
  Index: WebappLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- WebappLoader.java 8 Mar 2003 17:01:20 -   1.8
  +++ WebappLoader.java 12 Mar 2003 06:33:37 -  1.9
  @@ -1,7 +1,4 @@
   /*
  - * $Header$
  - * $Revision$
  - * $Date$
*
* 
*
  @@ -82,6 +79,7 @@
   import java.net.URLStreamHandlerFactory;
   import java.security.Permission;
   import java.util.jar.JarFile;
  +import java.util.ArrayList;
   import javax.servlet.ServletContext;
   import javax.naming.NamingException;
   import javax.naming.Binding;
  @@ -103,6 +101,8 @@
   import org.apache.catalina.Logger;
   import org.apache.catalina.util.LifecycleSupport;
   import org.apache.catalina.util.StringManager;
  +import org.apache.commons.logging.Log;
  +import org.apache.commons.logging.LogFactory;
   
   
   /**
  @@ -126,7 +126,6 @@
   public class WebappLoader
   implements Lifecycle, Loader, PropertyChangeListener, Runnable {
   
  -
   // --- Constructors
   
   
  @@ -271,6 +270,11 @@
   private String threadName = WebappLoader;
   
   
  +// Classpath set in the loader
  +private String classpath=null;
  +
  +// repositories that are set in the loader, for jmx
  +private ArrayList loaderRepositories;
   // - Properties
   
   
  @@ -347,6 +351,7 @@
   
   /**
* Return the DefaultContext with which this Loader is associated.
  + * XXX What is that ???
*/
   public DefaultContext getDefaultContext() {
   
  @@ -527,6 +532,7 @@
   
   if (started  (classLoader != null)) {
   classLoader.addRepository(repository);
  +if( loaderRepositories != null ) loaderRepositories.add(repository);
   setClassPath();
   }
   
  @@ -549,6 +555,8 @@
   return ((String[])repositories.clone());
   }
   
  +/** Extra repositories for this loader
  + */
   public String getRepositoriesString() {
   StringBuffer sb=new StringBuffer();
   for( int i=0; irepositories.length ; i++ ) {
  @@ -557,6 +565,30 @@
   return sb.toString();
   }
   
  +public String[] getLoaderRepositories() {
  +if( loaderRepositories==null ) return  null;
  +String res[]=new String[ loaderRepositories.size()];
  +loaderRepositories.toArray(res);
  +return res;
  +}
  +
  +public String getLoaderRepositoriesString() {
  +String repositories[]=getLoaderRepositories();
  +StringBuffer sb=new StringBuffer();
  +for( int i=0; irepositories.length ; i++ ) {
  +sb.append( repositories[i]).append(:);
  +}
  +return sb.toString();
  +}
  +
  +/** Classpath, as set in org.apache.catalina.jsp_classpath context
  + * property
  + *
  + * @return
  + */
  +public String getClasspath() {
  +return classpath;
  +}
   
   /**
* Has the internal repository associated with this Loader been modified,
  @@ -639,7 +671,6 @@
* @exception LifecycleException if a lifecycle error occurs
*/
   public void start() throws LifecycleException {
  -
   // Validate and update our current component state
   if (started)
   throw new LifecycleException
  @@ -649,9 +680,10 @@
   lifecycle.fireLifecycleEvent(START_EVENT, null);
   started = true;
   
  -if (container.getResources() == null)
  +if (container.getResources() == null) {
  +log.info(No resources for  + container);
   return;
  -
  +}
   // Register a stream handler factory for the JNDI protocol
   URLStreamHandlerFactory streamHandlerFactory =
   new DirContextURLStreamHandlerFactory();
  @@ -964,11 +996,13 @@
   if (servletContext == null)
   return;
   
  +loaderRepositories=new ArrayList();
   

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader WebappLoader.java

2003-01-10 Thread costin
costin  2003/01/10 10:59:50

  Modified:catalina/src/share/org/apache/catalina/loader
WebappLoader.java
  Log:
  Some info for the jmx console. It's nice to see the repositories.
  
  It would also be nice to have a method to display info about how
   a class will be loaded ( from parent or what repo ) as well as last mod time.
  
  I'll try to use WebppLoader as a basis for a loader to be used in modeler -
  and merge it with the StandardLoader ( i.e. support both filesystem and
  jndi sources ).
  
  Having more JMX support in the loader will help track a lot of problems.
  Wish I had more time...
  
  Revision  ChangesPath
  1.6   +16 -4 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java
  
  Index: WebappLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- WebappLoader.java 16 Oct 2002 16:08:29 -  1.5
  +++ WebappLoader.java 10 Jan 2003 18:59:50 -  1.6
  @@ -545,6 +545,18 @@
   
   }
   
  +public String[] getRepositories() {
  +return ((String[])repositories.clone());
  +}
  +
  +public String getRepositoriesString() {
  +StringBuffer sb=new StringBuffer();
  +for( int i=0; irepositories.length ; i++ ) {
  +sb.append( repositories[i]).append(:);
  +}
  +return sb.toString();
  +}
  +
   
   /**
* Has the internal repository associated with this Loader been modified,
  
  
  

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