Return-Path: Delivered-To: apmail-jakarta-tomcat-user-archive@apache.org Received: (qmail 39466 invoked from network); 9 May 2002 22:09:14 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 9 May 2002 22:09:14 -0000 Received: (qmail 21122 invoked by uid 97); 9 May 2002 22:08:54 -0000 Delivered-To: qmlist-jakarta-archive-tomcat-user@jakarta.apache.org Received: (qmail 21092 invoked by uid 97); 9 May 2002 22:08:53 -0000 Mailing-List: contact tomcat-user-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Tomcat Users List" Reply-To: "Tomcat Users List" Delivered-To: mailing list tomcat-user@jakarta.apache.org Received: (qmail 21016 invoked by uid 98); 9 May 2002 22:08:52 -0000 X-Antivirus: nagoya (v4198 created Apr 24 2002) Subject: 4.0.2 and LifecyleListener seems to break classloader To: tomcat-user@jakarta.apache.org X-Mailer: Lotus Notes Release 5.0.8 June 18, 2001 Message-ID: From: steve_olson@illinoispower.com Date: Thu, 9 May 2002 17:08:49 -0500 X-MIMETrack: Serialize by Router on DECNTNMAIL1/DECSRV/Dynegy(Release 5.0.10 |March 22, 2002) at 05/09/2002 05:08:50 PM MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N We've recently tried to do our first LifecycleListener usage as part of a small project to integrate Poolman 2.1 with Tomcat 4 so that Poolman properly starts and stops when the container does, and provides JDBC DataSource objects as resources defineable in server.xml and web.xml files. (We happen to like poolman a bunch more than the Tyrex stuff). The change to server.xml adding the new LifecycleListener is right after the start of the Server tag (the second lifecycle listener below is ours: . . . Everything works great if Tomcat is started and stopped using the vanilla bin\startup.bat and bin\shutdown.bat. However, if I run Tomcat as a service, where the service is based on the exact same installation of Tomcat that works fine in batch, then the container fails to initialize with the call stack below. It's almost as if the service stops seeing the jars in the system\lib subdirectory. This only happens if I've added our custom LifecycleListener line to server.xml, and Tomcat is running as a service. Does anyone know if there's something in our subclass of LifecycleListener that could stop Tomcat from loading/using the jars in system\lib? Something that only manifests itself if we're running Tomcat as a service? Just thought I'd ask before digging into the answer myself. We've made no changes to any of the standard JARs in system\lib - the new PoolmanServerLifecycleListener.class is deployed in system\classes\com\codestudio directory. Poolman and its related JARs are in common\lib. Thanks in advance for any info. Config is Tomcat 4.0.2 running on JVM 1.3.1_02 on W2K SP2 Call Stack: Create Catalina server Exception during startup processing java.lang.reflect.InvocationTargetException: java.lang.NoClassDefFoundError: org/apache/catalina/LifecycleListener at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:493) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111) at java.net.URLClassLoader.defineClass(URLClassLoader.java:248) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at org.apache.catalina.loader.StandardClassLoader.findClass(StandardClassLoader.java:674) at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:1093) at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:992) at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:1076) at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:992) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:120) at org.apache.catalina.util.xml.ObjectCreate.start(XmlMapper.java:616) at org.apache.catalina.util.xml.XmlMapper.matchStart(XmlMapper.java:412) at org.apache.catalina.util.xml.XmlMapper.startElement(XmlMapper.java:91) at org.xml.sax.helpers.XMLReaderAdapter.startElement(XMLReaderAdapter.java:329) at org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1376) at org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:1284) at org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1806) at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1182) at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098) at org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:223) at javax.xml.parsers.SAXParser.parse(SAXParser.java:362) at javax.xml.parsers.SAXParser.parse(SAXParser.java:301) at org.apache.catalina.util.xml.XmlMapper.readXml(XmlMapper.java:228) at org.apache.catalina.startup.CatalinaService.load(CatalinaService.java:189) at org.apache.catalina.startup.CatalinaService.execute(CatalinaService.java:171) at org.apache.catalina.startup.Catalina.process(Catalina.java:179) at java.lang.reflect.Method.invoke(Native Method) at org.apache.catalina.startup.BootstrapService.main(BootstrapService.java:428) -- To unsubscribe, e-mail: For additional commands, e-mail: