Re: Weird Classloaders
[EMAIL PROTECTED] wrote: On Sat, 15 Sep 2001, Bojan Smojver wrote: Remy Maucherat wrote: TC 4 uses a 100% custom URLClassLoader clone, and it accesses the JARs directly (using JarFile objects). I'm really careful about properly closing these objects when the CL is dumped when reloading. However, there are still problems, at least under Windows (the symptoms are roughly what you describe). So it looks like the problems are with the java.util.jar package. After playing a bit more with the whole thing, it turns out that there is an IOException thrown when bytes are read from java.util.zip.ZipFile$1 (I'm guessing 1 is an internal class in ZipFile which is actually an InputStream - do I see JDK people giving a nod?). The ZipFile object is brand new after jar gets refreshed and yet it seems to be reading something totally bogus data. One other somewhat interesting observation: if the jar grows, the class file cannot be found. If it shrinks, class is found but properties files packed in there are not. Really amusing... Seems like a bug in JDK, if ZipFile is new it shouldn't use the old stuff. It seems the ZipFile uses a native implementation... Can you try with a different VM ? Maybe IBM 1.3 ( well, it can be identical ) ? Doesn't work with IBM as well. I think Ant has a good replacement for the whole zip, and we can certainly take a look. Creating a class loader using the different zip is also possilbe, and plugging it in is also easy. However, I would mark this as LATER. The whole thing can take time, and I don't think we can/should put this into 3.3 ( because it'll be new untested code ). How about I write a little section in the release notes of 3.3 (or whichever other document you think is appropriate) and tell everyone about the findings, so that there is no confusion as to why it doesn't work as expected. In the meantime, I'm posting a bug into Sun's bug database. I'm not sure how fast they really are about those issues, but it might not be worth writing a whole lot of new classloaders if they can fix it reasonably quick (provided it really is a bug in JDK, of course). Bojan
Re: Weird Classloaders
[EMAIL PROTECTED] wrote: On Sat, 15 Sep 2001, Bojan Smojver wrote: - if the jar file is changed, the application will reload (due to some recent fixes there in DependClassLoader), but some resources might not get loaded properly (for instance a properties file from within that jar) What do you mean ( i.e. how do you load the properties ) ? We create a new loader, and getting resources with the new loader should return the new stuff ( I'm not sure for Bundles, maybe they're caching something - need to check ). I'm loading the properties files (which can be any other type of file, really) by calling getResourceAsStream() on the classloader of my servlet. First time ever, all three of the properties files get pulled in OK. I verified that by printing out the properties and passing them to Velocity. Next time around (after the jar file gets updates), two things can happen: properties files don't get pulled in correctly or the class itself doesn't get pulled in correctly and I get ClassNotFoundException (ie. app doesn't run at all). - if old version of the jar file, or a new jar file with the same binary of the class is returned back to WEB-INF/lib, sometimes the app will come back to normal after an automatic reload (not always though) - if you keep replacing jar file long enough with different versions, it will eventually fail even when loading class files from it and the whole app will stop working (ClassNotFoundException) Again, need more details. I've checked the code in DependClassLoader and (unfortunately) it calls the parent's equivalent methods for getResourceAsStream() and getResource(), where parent is java.net.FactoryURLClassLoader. parent2 is the same as class as parent, but different object (ie. another instance of the same thing). I'm guessing those things are part of the JDK. DependClassLoader is a wrapper around the real webapp loader - it's role is to record dependencies. Parent is the real loader, parent2 is the grand-parent ( the parent of all webapps ). If a resource can be loaded by parent2, it is loaded ( to respect the delegation rules ). If not, we get the resource from parent ( i.e. from the application WEB-INF ). The class is created by DependClassLoader so class deps will also go to DCL ( and we can record them ). URLClassLoader is the standard JDK1.2+ loader. It has some important features besides loading classes - it checks sealing, load the right security context, and many other things that are imporant. You can of course replace it with anything you want - including SimpleClassLoader or replacement. All you need to do is replace LoaderInterceptor with your custom-made one. Aha, so that's what I need to change (not that I'm going to do it for real - no security - just wanted to test). Thanks! So, my real question here is, do any of you Sun guys (or any of you with better knowledge of JDK) know what this java.net.FactoryURLClassLoader actually does? Is it kind of 'caching' stuff and then it gets seriously confused when there are changes? Or maybe I'm doing something I'm not supposed to do... If you can provide more details, I can take a look. Reloading seems to work fine for me ( but I'll try again ). Even from jars stored in WEB-INF/lib? I found that part to behave in a really erratic manner. When I have plain classes in WEB-INF/classes, everything seems to behave much, much better. bojan
Re: mod_jk using warp protocol ?
jean-frederic clere [EMAIL PROTECTED] wrote: server_rec-hostname , the server rec is passed to you in all config functions, and the virtual host name is in there (check out mod_webapp.c in the Apache 1.3 directory, or mod_jserv)... mod_webapp requires the VirtualHostName in httpd.conf does not it? It requires HostName both inside every VirtualHost (well, as NameVirtualHost requires) and outside. We _need_ to know the host name, the Servlet spec requires it (of course is not absolutely required by the HTTP protocol, as there is the Host header, but)... Pier
Re: Weird Classloaders
On Sat, 15 Sep 2001, Bojan Smojver wrote: Could you file a bug in bugzilla and attach a very simple servlet and instructions on how to reproduce ? It would help a lot. Costin
DO NOT REPLY [Bug 3597] - Shutting down takes *ages*
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3597. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3597 --- Additional Comments From [EMAIL PROTECTED] 2001-09-15 08:38 --- You've got something wierd going on, all right. The standard install shuts down (as measured by checking for ps to go away) in 4 seconds with the standard mix of webapps. (Pentium 3, 800mHz, Red Hat 7.1, Sun JDK 1.3.1). A significant difference in my log is that the Removing web application lines all fire on the same second, while you've got almost a minute gap between the manager (which does nothing in its destroy() method) and ROOT web app. What build of Tomcat did you try this with? Please try with RC2. What JDK are you running? What version of Linux are you running? Did this just start happening recently, or has it always been happening? (I'm suspicious that something is strange in the network layer of the JDK or the OS on your box).
cvs commit: jakarta-tomcat-4.0 RELEASE-NOTES-4.0.txt RELEASE-PLAN-4.0.txt
craigmcc01/09/15 11:17:44 Modified:.RELEASE-PLAN-4.0.txt Added: .RELEASE-NOTES-4.0.txt Log: Update release plan to current status (last two must address bugs other than those in the connector), and post the initial version of what will be the release notes for 4.0 final. Revision ChangesPath 1.19 +5 -1 jakarta-tomcat-4.0/RELEASE-PLAN-4.0.txt Index: RELEASE-PLAN-4.0.txt === RCS file: /home/cvs/jakarta-tomcat-4.0/RELEASE-PLAN-4.0.txt,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- RELEASE-PLAN-4.0.txt 2001/09/15 01:18:10 1.18 +++ RELEASE-PLAN-4.0.txt 2001/09/15 18:17:44 1.19 @@ -1,4 +1,4 @@ -$Id: RELEASE-PLAN-4.0.txt,v 1.18 2001/09/15 01:18:10 craigmcc Exp $ +$Id: RELEASE-PLAN-4.0.txt,v 1.19 2001/09/15 18:17:44 craigmcc Exp $ Release Plan for Apache Tomcat 4.0 == @@ -46,6 +46,8 @@ Bugs That Must Be Addressed Before Final Release: +Catalina3614Bug in manager webapp + Connectors 2997Webapp connector should recover when Tomcat is restarted Connectors 3476Cannot use other than default context when using mod_webapp @@ -54,6 +56,8 @@ (likely to be the same issue as 1788) Connectors 3534File Upload doesn't work with Apache, mod_webapp, Tomcat 4 + +Jasper 3617null in JasperException Nice To Have Fixes Before Final Release: 1.1 jakarta-tomcat-4.0/RELEASE-NOTES-4.0.txt Index: RELEASE-NOTES-4.0.txt === Apache Tomcat Version 4.0 = Release Notes = $Id: RELEASE-NOTES-4.0.txt,v 1.1 2001/09/15 18:17:44 craigmcc Exp $ INTRODUCTION: This document describes the changes that have been made in the current release candidate release of Apache Tomcat, relative to the previous release. Bug reports should be entered at the bug reporting system for Jakarta projects at: http://nagoya.apache.org/bugzilla/ Please report bugs and feature requests under product name Tomcat 4. NEW FEATURES: General New Features: - Catalina New Features: - --- Jasper New Features: --- Webapps New Features: == BUG FIXES AND IMPROVEMENTS: == -- Generic Bug Fixes: -- -- Catalina Bug Fixes: -- WebdavServlet: The protocol name is no longer hard coded when parsing a destination header, which fixes problems when using https. StandardManager: Catch and log exceptions thrown by session.expire() when sessions are being timed out. Previously, any such exception would terminate the thread that checks for timed out sessions. StandardWrapperValve: Do not set a character encoding on the default page created for an HTTP status code. This was causing problems for Netscape Navigator when handling 302 redirects. Jasper Bug Fixes: Parser: Fix a bug that was causing null pointer exceptions in JakartaCommentGenerator. - Webapps Bug Fixes: - KNOWN ISSUES IN THIS RELEASE: -- Tomcat 4.0 and XML Parsers: -- Previous versions of Tomcat 4.0 exposed the XML parser used by Jasper (the JAXP/1.1 reference implementation) to web applications. This is no longer the case, because Jasper loads its parser with a new class loader instead. Keep the following points in mind when considering how to use XML parsers in Tomcat 4.0 and your web applications: * If you wish to make the JAXP/1.1 RI XML parser available to all web applications, simply move the jaxp.jar and crimson.jar files from the $CATALINA_HOME/jasper directory to the $CATALINA_HOME/lib directory. * If you wish to make another XML parser that is JAXP/1.1-compatible available to all web applications, install that parser into the $CATALINA_HOME/lib directory and remove jaxp.jar and crimson.jar from the $CATALINA_HOME/jasper directory. It has been reported that Xerces 1.3.1 can be used in this fashion,
DO NOT REPLY [Bug 3597] - Shutting down takes *ages*
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3597. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3597 --- Additional Comments From [EMAIL PROTECTED] 2001-09-15 13:09 --- I have the same symptom too; IBM JDK 1.3.0, tomcat 4.0 rc-2. We've found the thing slow to shutdown in the previous versions we've tried - inc. 4.0b3 and 4.0b5. My machine is a K6-II-450, running a standard RedHat-7.1 2001-09-15 19:47:31 HostConfig[localhost]: HostConfig: Processing STOP 2001-09-15 19:47:31 HostConfig[localhost]: Undeploying deployed web applications2001-09-15 19:47:31 HostConfig[localhost]: Undeploying web application at context path /examples 2001-09-15 19:47:31 StandardHost[localhost]: Removing web application at context path /examples 2001-09-15 19:47:37 HostConfig[localhost]: Undeploying web application at context path /webdav 2001-09-15 19:47:37 StandardHost[localhost]: Removing web application at context path /webdav 2001-09-15 19:48:07 HostConfig[localhost]: Undeploying web application at context path /tomcat-docs 2001-09-15 19:48:07 StandardHost[localhost]: Removing web application at context path /tomcat-docs 2001-09-15 19:48:07 HostConfig[localhost]: Undeploying web application at context path /manager 2001-09-15 19:48:07 StandardHost[localhost]: Removing web application at context path /manager 2001-09-15 19:49:05 HostConfig[localhost]: Undeploying web application at context path 2001-09-15 19:49:05 StandardHost[localhost]: Removing web application at context path
cvs commit: jakarta-tomcat-connectors/webapp configure.in
pier01/09/15 14:43:54 Modified:webapp configure.in Log: Added host-discovery and target directory discovery. Revision ChangesPath 1.33 +24 -12jakarta-tomcat-connectors/webapp/configure.in Index: configure.in === RCS file: /home/cvs/jakarta-tomcat-connectors/webapp/configure.in,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- configure.in 2001/09/15 04:46:17 1.32 +++ configure.in 2001/09/15 21:43:54 1.33 @@ -58,7 +58,7 @@ dnl -- dnl Author Pier Fumagalli mailto:[EMAIL PROTECTED] dnl Author Jon S. Stevens mailto:[EMAIL PROTECTED] -dnl Version $Id: configure.in,v 1.32 2001/09/15 04:46:17 pier Exp $ +dnl Version $Id: configure.in,v 1.33 2001/09/15 21:43:54 pier Exp $ dnl -- dnl -- @@ -66,20 +66,24 @@ dnl -- sinclude(./support/aplocal.m4) sinclude(./support/apjava.m4) -AC_INIT(Makefile.in) +AC_INIT([Makefile.in]) +AC_CONFIG_AUX_DIR([support]) LOCAL_INIT() -LOCAL_HELP([External libraries and compilation flags]) +AC_CANONICAL_HOST() dnl -- dnl Setup initial variable value dnl -dnl New vars: MODULE TARGET_BUILD TARGET_CLEAN -dnl APR_SRCDIR APR_LIBDIR APR_INCDIR APR_VARFIL +dnl New vars: MODULE TARGET_BUILD TARGET_CLEAN HOST_CPU HOST_SYS +dnl APR_CFGFLG APR_SRCDIR APR_LIBDIR APR_INCDIR APR_VARFIL dnl Upd vars: N/A dnl -- MODULE= TARGET_BUILD=lib-build TARGET_CLEAN=lib-clean +HOST_CPU=${host_cpu} +HOST_SYS=${host_os} +APR_CFGFLG= APR_SRCDIR= APR_LIBDIR= APR_INCDIR= @@ -88,6 +92,9 @@ AC_SUBST(MODULE) AC_SUBST(TARGET_BUILD) AC_SUBST(TARGET_CLEAN) +AC_SUBST(HOST_CPU) +AC_SUBST(HOST_SYS) +AC_SUBST(APR_CFGFLG) AC_SUBST(APR_SRCDIR) AC_SUBST(APR_LIBDIR) AC_SUBST(APR_INCDIR) @@ -100,6 +107,7 @@ dnl Upd vars: N/A dnl -- LOCAL_RESOLVEDIR(SRCDIR,[${srcdir}],[sources directory]) +LOCAL_RESOLVEDIR(TGTDIR,[.],[targets directory]) AC_SUBST(SRCDIR) dnl - @@ -127,6 +135,7 @@ dnl New vars: JAVA_HOME JAVAC JAR JAVADOC dnl Upd vars: N/A dnl - +LOCAL_HELP([External libraries and compilation flags]) LOCAL_HEADER([JAVA-Language compilation tools]) JAVA_INIT() JAVA_JAVAC() @@ -273,30 +282,33 @@ if ${TEST} -n ${local_apache} then - dnl --- + dnl - dnl APXS 2.0 dnl Note: APXS for 2.0 is broken, so we need to dnl discover some of the values manually hoping dnl to get the right layout. dnl dnl New vars: N/A - dnl Upd vars: APR_VARFIL APR_LIBDIR APR_INCDIR - dnl --- + dnl Upd vars: APR_CFGFLG APR_VARFIL APR_LIBDIR APR_INCDIR + dnl - MODULE=apache-2.0 local_prefix=`apxs -q PREFIX` + APR_CFGFLG= APR_VARFIL=${local_prefix}/lib/APRVARS APR_LIBDIR=${local_prefix}/lib APR_INCDIR=${local_prefix}/include unset local_prefix else - dnl -- + dnl Upd vars: APR_CFGFLG APR_VARFIL APR_LIBDIR APR_INCDIR + dnl - dnl APXS 1.3 dnl dnl New vars: N/A - dnl Upd vars: APR_VARFIL APR_LIBDIR APR_INCDIR - dnl -- + dnl Upd vars: APR_CFGFLG APR_VARFIL APR_LIBDIR APR_INCDIR + dnl - MODULE=apache-1.3 + APR_CFGFLG=--enable-static --disable-shared --disable-threads APR_VARFIL= APR_LIBDIR= APR_INCDIR= @@ -357,7 +369,7 @@ dnl LOCAL_HEADER([Configuring APR]) LOCAL_FILTEREXEC(local_return, -[./configure --enable-static --disable-shared --disable-threads], +[./configure ${APR_CFGFLG}], [APR configure], [${APR_SRCDIR}])
RE: mod_webapp/SSL and TC 4.0
SPEC 2.3 : SRV.4.7 SSL Attributes Nota: the key size and cipher suite used are not allways available in web-server (IIS for example) Regard keysize in IIS, Please check this page below and point me to what is key_size for 2.3 spec?, HTTPS_KEYSIZE or HTTPS_SECRETKEYSIZE ? neither ? http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmag0 0/html/websecure2figs.asp And i think cipher suite is near too.., i will try to check some code soon ( to isapiredirector in j-t-c of course ) , whenever i figure out how hell i can configure IIS and IE to use client certificates, :) I've tried to put the IIS beast to work with CC, but i dont get the CC installed on IE accepted by IIS, if i configure IIS to require a CC to connect it keeps me sending 403.7 status, client certificate required, of course i have what seems to be a certificate installed on IE, any help with that configuration will be great.., i'm stucked .. Cipher suite seems to be stored in the CERT_CONTEXT_EX, pased on with the certificate bytes.., but i cant test is not easy to be sure .. Saludos , Ignacio J. Ortega
DO NOT REPLY [Bug 3597] - Shutting down takes *ages*
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3597. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3597 --- Additional Comments From [EMAIL PROTECTED] 2001-09-15 15:23 --- with debug turned on in some of the offending StandardManagers, a subset of the logs gives: 2001-09-15 21:33:44 StandardContext[/webdav]: Sending application stop events 2001-09-15 21:33:44 StandardContext[/webdav]: Processing standard container shutdown 2001-09-15 21:33:44 ContextConfig[/webdav]: ContextConfig: Processing STOP 2001-09-15 21:33:44 StandardManager[/webdav]: Stopping 2001-09-15 21:34:32 StandardManager[/webdav]: Unloading persisted sessions which seems to pinpoint the waiting problem in StandardManager:stop(), either during firing a lifecycle stop event, or the threadStop method.
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets LocalStrings.properties ManagerServlet.java
craigmcc01/09/15 16:31:30 Modified:catalina/src/share/org/apache/catalina/core LocalStrings.properties StandardContext.java catalina/src/share/org/apache/catalina/servlets LocalStrings.properties ManagerServlet.java Log: If an application start (or reload) failed during Context.start(), call stop() so that the context is not left half initialized. Among other things, this allows you to restart the app with the manager application after correcting the condition that caused the startup failure in the first place. PR: Bugzilla #3614 Submitted by: Sascha Coenen [EMAIL PROTECTED] Revision ChangesPath 1.36 +1 -0 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/LocalStrings.properties Index: LocalStrings.properties === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/LocalStrings.properties,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- LocalStrings.properties 2001/07/25 04:25:58 1.35 +++ LocalStrings.properties 2001/09/15 23:31:29 1.36 @@ -59,6 +59,7 @@ standardContext.securityConstraint.pattern=Invalid url-pattern {0} in security constraint standardContext.servletMap.name=Servlet mapping specifies an unknown servlet name {0} standardContext.servletMap.pattern=Invalid url-pattern {0} in servlet mapping +standardContext.startCleanup-Exception during cleanup after start failed standardContext.startFailed=Context startup failed due to previous errors standardContext.startingLoader=Exception starting Loader standardContext.startingManager=Exception starting Manager 1.78 +10 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardContext.java Index: StandardContext.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardContext.java,v retrieving revision 1.77 retrieving revision 1.78 diff -u -r1.77 -r1.78 --- StandardContext.java 2001/09/09 00:48:11 1.77 +++ StandardContext.java 2001/09/15 23:31:29 1.78 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardContext.java,v 1.77 2001/09/09 00:48:11 craigmcc Exp $ - * $Revision: 1.77 $ - * $Date: 2001/09/09 00:48:11 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardContext.java,v 1.78 2001/09/15 23:31:29 craigmcc Exp $ + * $Revision: 1.78 $ + * $Date: 2001/09/15 23:31:29 $ * * * @@ -142,7 +142,7 @@ * * @author Craig R. McClanahan * @author Remy Maucherat - * @version $Revision: 1.77 $ $Date: 2001/09/09 00:48:11 $ + * @version $Revision: 1.78 $ $Date: 2001/09/15 23:31:29 $ */ public class StandardContext @@ -3404,12 +3404,18 @@ // Unbinding thread unbindThread(oldCCL); +// Set available status depending upon startup success if (ok) { if (debug = 1) log(Starting completed); setAvailable(true); } else { log(sm.getString(standardContext.startFailed)); +try { +stop(); +} catch (Throwable t) { +log(sm.getString(standardContext.startCleanup), t); +} setAvailable(false); } 1.9 +1 -0 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/LocalStrings.properties Index: LocalStrings.properties === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/LocalStrings.properties,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- LocalStrings.properties 2001/07/17 00:14:17 1.8 +++ LocalStrings.properties 2001/09/15 23:31:30 1.9 @@ -27,6 +27,7 @@ managerServlet.sessiontimeout={0} minutes:{1} sessions managerServlet.sessions=OK - Session information for application at context path {0} managerServlet.started=OK - Started application at context path {0} +managerServlet.startFailed=FAIL - Application at context path {0} could not be started managerServlet.stopped=OK - Stopped application at context path {0} managerServlet.unknownCommand=FAIL - Unknown command {0} webdavservlet.jaxpfailed=JAXP initialization failed 1.9 +14 -7 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/ManagerServlet.java Index: ManagerServlet.java ===
cvs commit: jakarta-tomcat-connectors/webapp/support apjava.m4
pier01/09/15 16:33:46 Modified:webapp/support apjava.m4 Log: Aesthetics change. Revision ChangesPath 1.10 +25 -23jakarta-tomcat-connectors/webapp/support/apjava.m4 Index: apjava.m4 === RCS file: /home/cvs/jakarta-tomcat-connectors/webapp/support/apjava.m4,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- apjava.m4 2001/09/15 04:43:40 1.9 +++ apjava.m4 2001/09/15 23:33:46 1.10 @@ -57,7 +57,7 @@ dnl -- dnl Author Pier Fumagalli [EMAIL PROTECTED] -dnl Version $Id: apjava.m4,v 1.9 2001/09/15 04:43:40 pier Exp $ +dnl Version $Id: apjava.m4,v 1.10 2001/09/15 23:33:46 pier Exp $ dnl -- dnl -- @@ -67,33 +67,35 @@ AC_DEFUN([JAVA_INIT],[ AC_MSG_CHECKING([for java support]) AC_ARG_ENABLE(java, - [ --enable-java[=JAVA_HOME] enable Java compilation (if JAVA_HOME is not +[ --enable-java[=JAVA_HOME] + enable Java compilation (if JAVA_HOME is not specified its value will be inherited from the JAVA_HOME environment variable).], - [ -case ${withval} in -yes|YES|true|TRUE) - JAVA_ENABLE=TRUE - ;; -*) - JAVA_ENABLE=TRUE - JAVA_HOME=${withval} - ;; -esac +[ + case ${withval} in + yes|YES|true|TRUE) +JAVA_ENABLE=TRUE +;; + *) +JAVA_ENABLE=TRUE +JAVA_HOME=${withval} +;; + esac -AC_MSG_RESULT([yes]) + AC_MSG_RESULT([yes]) -if ${TEST} ! -z ${JAVA_HOME} -then - LOCAL_RESOLVEDIR(JAVA_HOME,${JAVA_HOME},[java home directory]) - AC_MSG_RESULT([error]) - AC_MSG_ERROR([java home not specified and not found in environment]) -fi + if ${TEST} ! -z ${JAVA_HOME} + then +LOCAL_RESOLVEDIR(JAVA_HOME,${JAVA_HOME},[java home directory]) +AC_MSG_RESULT([error]) +AC_MSG_ERROR([java home not specified and not found in environment]) + fi - ],[ -JAVA_ENABLE=FALSE -AC_MSG_RESULT([no]) - ]) +],[ + JAVA_ENABLE=FALSE + AC_MSG_RESULT([no]) +] + ) AC_SUBST(JAVA_ENABLE) AC_SUBST(JAVA_HOME) ])
DO NOT REPLY [Bug 3614] - bug in manager webapp
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3614. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3614 [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2001-09-15 16:39 --- Fixed in nightly build 20010916 (and 4.0 final)
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session StandardManager.java
craigmcc01/09/15 16:37:52 Modified:catalina/src/share/org/apache/catalina/session StandardManager.java Log: When processing StandardManager.stop(), catch and ignore any exceptions thrown by StandardSession.expire() that would otherwise abort an orderly shutdown of the manager. Submitted by: Daved Lecomber [EMAIL PROTECTED] Revision ChangesPath 1.15 +9 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java Index: StandardManager.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- StandardManager.java 2001/09/14 17:48:59 1.14 +++ StandardManager.java 2001/09/15 23:37:52 1.15 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java,v 1.14 2001/09/14 17:48:59 craigmcc Exp $ - * $Revision: 1.14 $ - * $Date: 2001/09/14 17:48:59 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java,v 1.15 2001/09/15 23:37:52 craigmcc Exp $ + * $Revision: 1.15 $ + * $Date: 2001/09/15 23:37:52 $ * * * @@ -106,7 +106,7 @@ * codestop()/code methods of this class at the correct times. * * @author Craig R. McClanahan - * @version $Revision: 1.14 $ $Date: 2001/09/14 17:48:59 $ + * @version $Revision: 1.15 $ $Date: 2001/09/15 23:37:52 $ */ public class StandardManager @@ -662,7 +662,11 @@ StandardSession session = (StandardSession) sessions[i]; if (!session.isValid()) continue; -session.expire(); +try { +session.expire(); +} catch (Throwable t) { +; +} } // Require a new random number generator if we are restarted
cvs commit: jakarta-tomcat-connectors/webapp Makedefs.in
pier01/09/15 16:42:48 Modified:webapp Makedefs.in Log: Added new variables detected in configure script. More documentation on what the variables are (this file is getting big). Revision ChangesPath 1.8 +88 -44jakarta-tomcat-connectors/webapp/Makedefs.in Index: Makedefs.in === RCS file: /home/cvs/jakarta-tomcat-connectors/webapp/Makedefs.in,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- Makedefs.in 2001/08/06 21:02:27 1.7 +++ Makedefs.in 2001/09/15 23:42:48 1.8 @@ -56,49 +56,93 @@ # = # # @author Pier Fumagalli mailto:[EMAIL PROTECTED] -# @version $Id: Makedefs.in,v 1.7 2001/08/06 21:02:27 pier Exp $ +# @version $Id: Makedefs.in,v 1.8 2001/09/15 23:42:48 pier Exp $ -.SUFFIXES: .c .lo +.SUFFIXES: .c .o -# Values imported from @APRDIR@/APRVARS -CC = @CC@ -CPP =@CPP@ -SHELL = @SHELL@ -LIBTOOL =@LIBTOOL@ -EXTRA_CFLAGS = @EXTRA_CFLAGS@ -EXTRA_CPPFLAGS = @EXTRA_CPPFLAGS@ -EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ -EXTRA_LIBS = @EXTRA_LIBS@ -EXTRA_INCLUDES = @EXTRA_INCLUDES@ -LIBTOOL_LIBS = @LIBTOOL_LIBS@ - -# Default programs discovered by configure -CAT =@CAT@ -ECHO = @ECHO@ -GREP = @GREP@ -RM = @RM@ -SED =@SED@ -TEST = @TEST@ -TRUE = @TRUE@ - -# Java values discovered by configure -JAVA_HOME = @JAVA_HOME@ -JAR =@JAR@ -JAVAC = @JAVAC@ -JAVACFLAGS = @JAVACFLAGS@ -JAVACPATH = @TOMCATDIR@/common/lib/servlet.jar:@TOMCATDIR@/server/lib/catalina.jar - -# Compilation flags set by configure -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ -LTFLAGS =@LTFLAGS@ -DEBUG = @DEBUG@ - -# Compile a C source using APR's libtool -.c.lo: @SRCDIR@/Makedefs - @echo Compiling $ - @$(SHELL) $(LIBTOOL) $(LTFLAGS) --mode=compile \ - $(CC) \ - $(CFLAGS) $(EXTRA_CFLAGS) \ - $(CPPFLAGS) $(EXTRA_CPPFLAGS) \ - -c $ -o $@ +# - +# Programs discovered by configure during initialization +# - + +TEST = @TEST@ +TRUE = @TRUE@ +ECHO = @ECHO@ +GREP = @GREP@ +CAT = @CAT@ +SED = @SED@ +RM = @RM@ + +# - +# Compilation settings +# - + +# The target module to build +MODULE = @MODULE@ +# The system which built this binary +SYSTEM = @SYSTEM@ +# Wether to build debug information or not +DEBUG = @DEBUG@ +# The WebApp sources directory +SRCDIR = @SRCDIR@ +# The compilation (this) directory +TGTDIR = @TGTDIR@ +# The directory of a Tomcat 4.0 binary distribution +TC4DIR = @TC4DIR@ + +# - +# APR library values +# - + +# The APR source directory (if needed) +APR_SRCDIR = @APR_SRCDIR@ +# Where libapr.a resides +APR_LIBDIR = @APR_LIBDIR@ +# Where APR include files are located +APR_INCDIR = @APR_INCDIR@ +# Location of APRVARS +APR_VARFIL = @APR_VARFIL@ + +# - +# C Compiler settings +# - + +# Library archiver +AR = @AR@ +# C compiler +CC = @CC@ +# C macro pre-processor +CPP = @CPP@ +# Library updater +RANLIB = @RANLIB@ +# C compilation flags +CFLAGS = @CFLAGS@ +# C macro pre-processor flags +CPPFLAGS = @CPPFLAGS@ + +# - +# Java Compiler settings +# - + +# The JVM home directory +JAVA_HOME = @JAVA_HOME@ +# Jar archiver +JAR = @JAR@ +# Java compiler +JAVAC = @JAVAC@ +# JavaDoc documentation tool +JAVADOC = @JAVADOC@ +# Java compilation flags +JAVACFLAGS = @JAVACFLAGS@ +# Java Class Path +CLASSPATH = @CLASSPATH@ + +# - +# C-Compilation default setting +# - +.c.o: + @$(ECHO) Compiling \$\ + @$(CC) $(CFLAGS) $(CPPFLAGS) \ + $(APR_CFLAGS) $(APR_CPPFLAGS) \ + -I$(APR_INCDIR) -I$(SRCDIR)/include \ + -c $ -o $@ +
DO NOT REPLY [Bug 3617] - null in JasperException
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3617. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3617 [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2001-09-15 16:53 --- Fixed in nightly build 20010916 (and 4.0 final)
cvs commit: jakarta-tomcat-connectors/webapp configure.in
pier01/09/15 17:30:10 Modified:webapp configure.in Log: Parse APRVARS during configure Revision ChangesPath 1.35 +22 -1 jakarta-tomcat-connectors/webapp/configure.in Index: configure.in === RCS file: /home/cvs/jakarta-tomcat-connectors/webapp/configure.in,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- configure.in 2001/09/16 00:02:59 1.34 +++ configure.in 2001/09/16 00:30:10 1.35 @@ -58,7 +58,7 @@ dnl -- dnl Author Pier Fumagalli mailto:[EMAIL PROTECTED] dnl Author Jon S. Stevens mailto:[EMAIL PROTECTED] -dnl Version $Id: configure.in,v 1.34 2001/09/16 00:02:59 pier Exp $ +dnl Version $Id: configure.in,v 1.35 2001/09/16 00:30:10 pier Exp $ dnl -- dnl -- @@ -406,6 +406,27 @@ APR_LIBDIR=${APR_SRCDIR}/lib APR_VARFIL=${APR_SRCDIR}/APRVARS fi + +dnl -- +dnl Parse APRVARS and discover what values we need +dnl +dnl New vars: APR_CFLAGS APR_CPPFLAGS APR_LDFLAGS APR_LIBS APR_INCLUDES +dnl Upd vars: N/A +dnl -- +LOCAL_HEADER([Finishing up]) +AC_MSG_CHECKING([for APR compilation flags]) +if ${TEST} ! -f ${APR_VARFIL} +then + AC_MSG_RESULT([error]) + AC_MSG_ERROR([Cannot find required APRVARS file]) +fi +AC_MSG_RESULT([ok]) +eval `${CAT} ${APR_VARFIL} | ${GREP} EXTRA_ | ${SED} s/EXTRA_/APR_/g` +AC_SUBST(APR_CFLAGS) +AC_SUBST(APR_CPPFLAGS) +AC_SUBST(APR_INCLUDES) +AC_SUBST(APR_LDFLAGS) +AC_SUBST(APR_LIBS) dnl -- dnl Finish up
cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/util/compat/jar - New directory
costin 01/09/15 17:30:49 jakarta-tomcat/src/share/org/apache/tomcat/util/compat/jar - New directory
cvs commit: jakarta-tomcat-connectors/webapp Makedefs.in
pier01/09/15 17:31:00 Modified:webapp Makedefs.in Log: Added values parsed out of APRVARS Revision ChangesPath 1.9 +11 -1 jakarta-tomcat-connectors/webapp/Makedefs.in Index: Makedefs.in === RCS file: /home/cvs/jakarta-tomcat-connectors/webapp/Makedefs.in,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Makedefs.in 2001/09/15 23:42:48 1.8 +++ Makedefs.in 2001/09/16 00:31:00 1.9 @@ -56,7 +56,7 @@ # = # # @author Pier Fumagalli mailto:[EMAIL PROTECTED] -# @version $Id: Makedefs.in,v 1.8 2001/09/15 23:42:48 pier Exp $ +# @version $Id: Makedefs.in,v 1.9 2001/09/16 00:31:00 pier Exp $ .SUFFIXES: .c .o @@ -101,6 +101,16 @@ APR_INCDIR = @APR_INCDIR@ # Location of APRVARS APR_VARFIL = @APR_VARFIL@ +# Extra APR C compilation flags +APR_CFLAGS = @APR_CFLAGS@ +# Extra APR C macro pre-processor flags +APR_CPPFLAGS = @APR_CPPFLAGS@ +# Extra APR inclusion flags +APR_INCLUDES = @APR_INCLUDES@ +# Extra APR linker flags +APR_LDFLAGS = @APR_LDFLAGS@ +# Extra APR libraries required for linking +APR_LIBS = @APR_LIBS@ # - # C Compiler settings @@ -142,7 +152,7 @@ .c.o: @$(ECHO) Compiling \$\ @$(CC) $(CFLAGS) $(CPPFLAGS) \ - $(APR_CFLAGS) $(APR_CPPFLAGS) \ + $(APR_CFLAGS) $(APR_CPPFLAGS) $(APR_INCLUDES) \ -I$(APR_INCDIR) -I$(SRCDIR)/include \ -c $ -o $@
cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/util/depend DependClassLoader.java
costin 01/09/15 17:33:30 Modified:src/share/org/apache/tomcat/modules/mappers ReloadInterceptor.java src/share/org/apache/tomcat/util/compat Jdk11Compat.java src/share/org/apache/tomcat/util/depend DependClassLoader.java Added: src/share/org/apache/tomcat/util/compat/jar Handler.java Log: Fix 3358: JDK1.1 compat problems due to missing jar: protocol. Note that the 'compat' jar: handler is added only if none found, and it support the most minimal functionality - parsing URLs using the default handler, so new URL( jar:... ) works. In future we may expand this to a complete support for jar: handler in JDK1.1. Revision ChangesPath 1.11 +1 -1 jakarta-tomcat/src/share/org/apache/tomcat/modules/mappers/ReloadInterceptor.java Index: ReloadInterceptor.java === RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/mappers/ReloadInterceptor.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- ReloadInterceptor.java2001/08/22 03:03:08 1.10 +++ ReloadInterceptor.java2001/09/16 00:33:30 1.11 @@ -154,7 +154,7 @@ ClassLoader cl=context.getClassLoader(); ClassLoader loader=DependClassLoader.getDependClassLoader( dm, cl, - context.getAttribute( Context.ATTRIB_PROTECTION_DOMAIN)); + context.getAttribute( Context.ATTRIB_PROTECTION_DOMAIN), debug); context.setClassLoader(loader); context.setAttribute( org.apache.tomcat.classloader, loader); 1.12 +32 -1 jakarta-tomcat/src/share/org/apache/tomcat/util/compat/Jdk11Compat.java Index: Jdk11Compat.java === RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/compat/Jdk11Compat.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- Jdk11Compat.java 2001/09/07 04:25:20 1.11 +++ Jdk11Compat.java 2001/09/16 00:33:30 1.12 @@ -61,6 +61,7 @@ import org.apache.tomcat.util.depend.*; import java.net.URL; +import java.net.MalformedURLException; import java.util.ResourceBundle; import java.util.Locale; @@ -199,8 +200,38 @@ } } else { compat=new Jdk11Compat(); + // Install jar handler if none installed + try { + URL url=new URL( jar:file:/test.jar!/foo); + } catch( MalformedURLException ex ) { + if( dL 0) d( Installing jar protocol handler ); + String handlers=System.getProperty(java.protocol.handler.pkgs); + if( handlers==null ) { + handlers=URL_COMPAT_HANDLERS; + } else { + if( handlers.indexOf( URL_COMPAT_HANDLERS) 0 ) { + handlers+=: + URL_COMPAT_HANDLERS; + } + } + System.getProperties().put(java.protocol.handler.pkgs, handlers); + if( dL 0 ) { + try { + URL url=new URL( jar:file:/test.jar!/foo); + } catch( MalformedURLException ex1 ) { + d(Jar protocol failing ); + ex1.printStackTrace(); + } + } + } } } - + +private static final String URL_COMPAT_HANDLERS= + org.apache.tomcat.util.compat; + +private static final int dL=10; +private static void d(String s ) { +System.err.println( Jdk11Compat: + s ); +} } 1.1 jakarta-tomcat/src/share/org/apache/tomcat/util/compat/jar/Handler.java Index: Handler.java === /* * * * The Apache Software License, Version 1.1 * * Copyright (c) 1999 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright *notice, this list of conditions and the following disclaimer in *the documentation and/or other materials provided with the *distribution. * * 3. The end-user documentation included with the redistribution, if *any, must include the following acknowlegement: * This product includes software developed by the *Apache Software Foundation
DO NOT REPLY [Bug 3597] - Shutting down takes *ages*
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3597. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3597 --- Additional Comments From [EMAIL PROTECTED] 2001-09-15 21:19 --- I think this is a JDK issue. For me, it only happens with a certain version of IBM's JDK: [jeff@kermit bin]$ java -version java version 1.3.0 Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0) Classic VM (build 1.3.0, J2RE 1.3.0 IBM build cx130-2815 (JIT enabled: jitc)) That's on a Mandrake Linux box, kernel 2.4.3-20, glibc 2.2.2 If I use Sun's 1.2.2 JDK instead (only one I had handy), on the same box and same Tomcat 4.0rc2 install, it works fine, taking about 5 secs to shut down. On a Debian box (2.4.4 kernel), the following IBM JDK, it also works fine: java version 1.3.0 Java(TM) 2 Runtime Environment, Standard Edition (build Blackdown-1.3.0-FCS) Java HotSpot(TM) Client VM (build Blackdown-1.3.0-FCS, mixed mode) To anyone else experiencing this (eg David Lecomber): could you please do a 'java -version' and report it? Also, under the offending IBM JDK, the startup.sh script couldn't automatically resolve CATALINA_HOME (see http://marc.theaimsgroup.com/?l=tomcat-userm=100043024215213w=2), and I'd be interested if others have this problem too. Right now, I'm happy for this bug to be closed, pending further evidence. --Jeff
DO NOT REPLY [Bug 3597] - Shutting down takes *ages*
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3597. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3597 [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||WORKSFORME --- Additional Comments From [EMAIL PROTECTED] 2001-09-15 21:52 --- Per Jeff's comments, this appears to be VM-specific to IBM's vm on this particular platform.
cvs commit: jakarta-tomcat-4.0 build.xml
craigmcc01/09/15 22:41:40 Modified:.build.xml Log: Use explixit reference to servlet.home (required to copy the API Javadocs). Revision ChangesPath 1.38 +2 -1 jakarta-tomcat-4.0/build.xml Index: build.xml === RCS file: /home/cvs/jakarta-tomcat-4.0/build.xml,v retrieving revision 1.37 retrieving revision 1.38 diff -u -r1.37 -r1.38 --- build.xml 2001/09/16 04:58:28 1.37 +++ build.xml 2001/09/16 05:41:40 1.38 @@ -12,6 +12,7 @@ property name=jasper.build value=${basedir}/jasper/build/ property name=javaservice.home value=../javaservice/ property name=nsis.homevalue=c:\program files\nsis/ + property name=servlet.home value=../jakarta-servletapi-4/dist/ property name=tomcat.build value=${basedir}/build/ property name=tomcat.dist value=${basedir}/dist/ property name=webapps.buildvalue=${basedir}/webapps/build/ @@ -152,7 +153,7 @@ /copy mkdir dir=${tomcat.build}/webapps/tomcat-docs/servletapi/ copy todir=${tomcat.build}/webapps/tomcat-docs/servletapi - fileset dir=${servletapi.home}/docs/api / + fileset dir=${servlet.home}/docs/api / /copy /target
cvs commit: jakarta-tomcat-4.0 BUILDING.txt RELEASE-NOTES-4.0.txt
craigmcc01/09/15 22:59:42 Modified:.BUILDING.txt RELEASE-NOTES-4.0.txt Log: Update BUILDING.txt to reflect the revised requirements for dependent packages. Update release notes to describe the APIs that are now made available to all web applications (in common/lib or lib). Revision ChangesPath 1.4 +34 -70jakarta-tomcat-4.0/BUILDING.txt Index: BUILDING.txt === RCS file: /home/cvs/jakarta-tomcat-4.0/BUILDING.txt,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- BUILDING.txt 2001/09/11 16:54:41 1.3 +++ BUILDING.txt 2001/09/16 05:59:42 1.4 @@ -1,4 +1,4 @@ -$Id: BUILDING.txt,v 1.3 2001/09/11 16:54:41 craigmcc Exp $ +$Id: BUILDING.txt,v 1.4 2001/09/16 05:59:42 craigmcc Exp $ Building The Tomcat 4.0 Servlet/JSP Container @@ -111,18 +111,15 @@ * Unpack the binary distribution into a convenient location so that the distribution resides in its own directory (conventionally named - jakarta-regexp). For the purposes of the remainder of this document, - the symbolic name ${regexp.home} is used to refer to the full pathname - of this directory. + jakarta-regexp-x.y). -FIXME: This step and the associated stuff in build.xml files needs to be -made independent of the actual jakarta-regexp version number. - (5) Download and Install the Servlet API Binary Distribution NOTE: Alternatively, you can download the sources of the -jakarta-servletapi-4 subproject, and build a binary distribution yourself. +jakarta-servletapi-4 subproject, and build a binary distribution yourself, +or use the binary distribution that is available with binary distributions +of Tomcat 4.0. * Download a binary distribution from: @@ -138,11 +135,8 @@ distribution resides in its own directory. -(6) Download and Install JDBC Optional Package API (OPTIONAL) +(6) Download and Install JDBC Optional Package API -NOTE: This step is only required if you wish to build the Tyrex connection -pool implementation for JNDI-accessed data sources. - * Download the JDBC Optional Pacakge API package (version 2.0) from: http://java.sun.com/products/jdbc/download.html @@ -164,10 +158,6 @@ (8) Download and Install the JNDI 1.2.1 Reference Implementation -NOTE: This step is required to build Tomcat 4.0, even when you are running -a JDK 1.3 (or later) platform that includes the JNDI classes. This is because -the Tomcat build process includes jndi.jar into the binary distribution. - * Download the Java Naming and Directory Interface (JNDI) package, (version 1.2.1 or later) from @@ -176,6 +166,9 @@ * Unpack the reference implementation into a convenient location so that it resides in its own subdirectory. +* You will also need the LDAP Provider (ldap.jar), available on the + same download page. Be sure that you unpack ldap.jar into the lib + subdirectory of the JNDI directory, parallel to jndi.jar. (9) Download and Install the Java Activation Framework 1.0.1 @@ -207,11 +200,8 @@ it resides in its own subdirectory. -(12) Download and Install the Java Transaction APIs (OPTIONAL) +(12) Download and Install the Java Transaction APIs -NOTE: This step is only required if you wish to build the Tyrex connection -pool implementation for JNDI-accessed data sources. - * Download the Java Transaction API (JTA) package (version 1.0.1) from: http://java.sun.com/products/jta/ @@ -220,27 +210,27 @@ own subdirectory. -(13) Download and Install the JUnit Testing Package (OPTIONAL) +(13) Download and Install the Tyrex Data Source Package -NOTE: This step is only required if you wish to build and execute the unit -tests that are part of the Tomcat 4.0 source base. +NOTE: This step is only required if you wish to build the Tyrex connection +pool implementation for JNDI-accessed data sources. -* Download the JUnit unit test package (version 3.7 or later) from: +* Download the Tyrex JAR or release (version 0.9.7) from: -http://www.junit.org/ +http://tyrex.exolab.org/download.html * Unpack the package into a convenient location so that it resides in its own subdirectory. -(14) Download and Install the Tyrex Data Source Package (OPTIONAL) +(14) Download and Install the JUnit Testing Package (OPTIONAL) -NOTE: This step is only required if you wish to build the Tyrex connection -pool implementation for JNDI-accessed data sources. +NOTE: This step is only required if you wish to build and execute the unit +tests that are part of the Tomcat 4.0 source base. -* Download the Tyrex JAR or release (version 0.9.7) from: +* Download the JUnit unit test package (version 3.7 or