RE: cvs commit:jakarta-tomcat-connectors/jk/native2/server/apache2Makefile
GOMEZ Henri [EMAIL PROTECTED] wrote: Is it possible to generate build.properties from build.properties.sample ( instead of .in ) ? Not a big deal, but it would be nice. don't known (Pier/JF ?) Not with the AC_OUTPUT macro, but if you know what variables are in there you can simply rewrite your own set of seds... Urg sed ?] PS: There is a problem, with buildconf.sh, which didn't copy install.sh in scripts/build/unix the latest buildconf didn't copy install.sh or install-sh. Fixed by doing automake --copy --add-missing : You could use this to avoid having install(s) in cvs #!/bin/sh echo libtoolize --force --automake libtoolize --force --automake #echo automake --copy --add-missing automake --copy --add-missing echo aclocal #aclocal --acdir=`aclocal --print-ac-dir` #aclocal --acdir=/usr/local/share/aclocal aclocal echo autoconf autoconf -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/ant Tomcat3JSPVersionFile.java Tomcat3Precompiler.java ant.properties
Great news ;) - Henri Gomez ___[_] EMAIL : [EMAIL PROTECTED](. .) PGP KEY : 697ECEDD...oOOo..(_)..oOOo... PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6 -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Thursday, May 16, 2002 5:15 AM To: [EMAIL PROTECTED] Subject: cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/ant Tomcat3JSPVersionFile.java Tomcat3Precompiler.java ant.properties keith 02/05/15 20:15:13 Modified:.build.xml Added: src/share/org/apache/tomcat/ant Tomcat3JSPVersionFile.java Tomcat3Precompiler.java ant.properties Log: Add Tomcat related Ant tasks for precompiling JSPs. Revision ChangesPath 1.178 +25 -1 jakarta-tomcat/build.xml Index: build.xml === RCS file: /home/cvs/jakarta-tomcat/build.xml,v retrieving revision 1.177 retrieving revision 1.178 diff -u -r1.177 -r1.178 --- build.xml24 Apr 2002 12:26:23 - 1.177 +++ build.xml16 May 2002 03:15:13 - 1.178 @@ -590,7 +590,7 @@ /jar /target - target name=tomcat-jars depends=prepare,dep.tomcat-util,tomcat_util,stop-tomcat.jar,to mcat_core,jasper,tomcat_modules,tomcat.jar,facade22,tomcat-startup + target name=tomcat-jars depends=prepare,dep.tomcat-util,tomcat_util,stop-tomcat.jar,to mcat_core,jasper,tomcat_modules,tomcat.jar,facade22,tomcat-star tup,tomcat-ant /target target name=tomcat-jars-new depends=tomcat-jars @@ -599,6 +599,30 @@ !-- J2EE integration == -- target name=j2ee ant antfile=src/j2ee/build.xml target=tomcat-j2ee.jar/ + /target + + + !-- Ant utilities == -- + target name=tomcat-ant +javac srcdir=src/share + destdir=${tomcat.build}/classes + include name=org/apache/tomcat/ant/*.java / + classpath + pathelement path=${ant.lib}/ant.jar / + pathelement path=${ant.lib}/ant-optional.jar / + pathelement path=${ant.lib}/optional.jar / + /classpath +/javac +mkdir dir=${tomcat.build}/ant / +jar jarfile=${tomcat.build}/ant/tomcat-ant.jar + basedir=${tomcat.build}/classes + include name=org/apache/tomcat/ant/** / +/jar +jar jarfile=${tomcat.build}/ant/tomcat-ant.jar + basedir=src/share/org/apache/tomcat/ant + update=yes + include name=*.properties / +/jar /target !-- Build all web applications -- 1.1 jakarta-tomcat/src/share/org/apache/tomcat/ant/Tomcat3JSPVersio nFile.java Index: Tomcat3JSPVersionFile.java === /* * The Apache Software License, Version 1.1 * * Copyright (c) 2002 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 (http://www.apache.org/). *Alternately, this acknowlegement may appear in the software itself, *if and wherever such third-party acknowlegements normally appear. * * 4. The names The Jakarta Project, Ant, and Apache Software *Foundation must not be used to endorse or promote products derived *from this software without prior written permission. For written *permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called Apache *nor may Apache appear in their names without prior written *permission of the Apache Group. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
ajp13 protocol desc added
I just added ajp13 protocol desc to TC 3.2 and TC 3.3 doc on website http://jakarta.apache.org/tomcat/tomcat-3.3-doc/AJPv13.html http://jakarta.apache.org/tomcat/tomcat-3.2-doc/AJPv13.html Regards - Henri Gomez ___[_] EMAIL : [EMAIL PROTECTED](. .) PGP KEY : 697ECEDD...oOOo..(_)..oOOo... PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6 -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/native2 buildconf.sh
hgomez 02/05/16 01:47:23 Modified:jk/native2 buildconf.sh Log: use automake (even without automake.am) to make sure that install.sh/install-sh are copied to support Revision ChangesPath 1.3 +2 -4 jakarta-tomcat-connectors/jk/native2/buildconf.sh Index: buildconf.sh === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/buildconf.sh,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- buildconf.sh 14 May 2002 11:15:47 - 1.2 +++ buildconf.sh 16 May 2002 08:47:23 - 1.3 @@ -2,11 +2,9 @@ echo libtoolize --force --automake libtoolize --force --automake -#echo automake -a --foreign -i -#automake -a --foreign -i +echo automake --copy --add-missing +automake --copy --add-missing echo aclocal -#aclocal --acdir=`aclocal --print-ac-dir` -#aclocal --acdir=/usr/local/share/aclocal aclocal echo autoconf autoconf -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: cvs commit:jakarta-tomcat-connectors/jk/native2/server/apache2Makefile
GOMEZ Henri wrote: GOMEZ Henri [EMAIL PROTECTED] wrote: Is it possible to generate build.properties from build.properties.sample ( instead of .in ) ? Not a big deal, but it would be nice. don't known (Pier/JF ?) Not with the AC_OUTPUT macro, but if you know what variables are in there you can simply rewrite your own set of seds... Urg sed ?] The best is use build.properties:build.properties.sample Like: +++ Makedefs Makefile lib/Makefile ${MODULE}/Makefile build.properties:build.properties.sample ]) +++ (That something I have forgotten to commit in mod_webapp). The problem is that the build.properties.sample will not be usable directly because you will have things like: +++ catalina.home=@TC4_DIR@ +++ So the cp build.properties.sample build.properties; ant dist will break!!! PS: There is a problem, with buildconf.sh, which didn't copy install.sh in scripts/build/unix the latest buildconf didn't copy install.sh or install-sh. Fixed by doing automake --copy --add-missing : You could use this to avoid having install(s) in cvs #!/bin/sh echo libtoolize --force --automake libtoolize --force --automake #echo automake --copy --add-missing automake --copy --add-missing echo aclocal #aclocal --acdir=`aclocal --print-ac-dir` #aclocal --acdir=/usr/local/share/aclocal aclocal echo autoconf autoconf -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Conncurency issue with tomcat???
Hi all, I have a strange problem to discuss. Background : We are using a servlet as an entry point to our application.We are using tomcat as the servlet engine. So the concurrent users to our application depends on the concurrecy support by the tomcat.We have developed a simulator to send the request to our application throught this servlet. Now the problem : We use java.net.HttpUrlConnection to send requests to tomcat.Each user send 5 requests with different parameters.The simulator was set to 60 concurrent users and for 10 times each. i.e number of concurrent request are 60 and total requests are 3000(60 * 5 * 10). Each response from the server is roughly a string of 6000 bytes. We are reading asynchronously (InputStream in a new thread) on the simulator side. With 60 users it works fine. But when we increase the number of conncurrent users to 90 the server behave strangely. like : 1. Sometimes we see that the same session is started in two threads concurrently. 2. Sometimes one of the request for the user is processed two times. I wonder where is the problem. In the HttpUrlConenction or in the servlet engine. What we think is it may be due to the speed of reading the bytes from the input stream of HttpUrlConnection.Because when we read the data with the BufferedInputStream we get the same problem with even 60 concurrent users.This was solved by useing the Asyncronous Input stream. But above all I wonder how can a client influence the behaviour of the server??? Ur help is highly appreciated. I am using tomcat 4.0.1 Rajendra Ghorpade Software Engineer OneBridge AG - simplifying voice technologies - Friedrich-Ebert-Strasse D 51429 Bergisch Gladbach Fon: +49 (0)2204 / 845-118 Fax: +49 (0)2204 / 845-101 Mobil: +49 (0)162/345 0758 Email: [EMAIL PROTECTED] Web: www.onebridge.de Voice Games - Wählen, hören, spielen und urteilen Sie selbst. Begeben Sie sich mit uns auf eine kleine Reise und knacken Sie die Schatztruhe der OneBridge AG. Jetzt anrufen: 0180 / 545 00 74 ( EUR 0.12/Min.) Voice Games - Dial, play, and hear how it works. Come with us on a short trip and try to break open the treasure chest of OneBridge AG. Call now: 0180 / 545 00 74 ( EUR 0.12/min.) -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Tomcat WebDav servlet and webapp properties
I admit that what I am trying to do is a hack up front, but any help would be great. I am trying make the webdav servlet that comes with tomcat like ftp over port 80. What we want to do is allow people to change files for any webapp deployed by connecting to the webdav webapp. The problem we are having is how fool the webdav servlet into using a different path. For example take a look at the following directory structure Tomcat -- webapps -- appone -- directoryone -- apptwo -- webdav We want the webdav servlet be able to be configured so that it uses the tomcat/webapps/appone/directoryone as the root path when connected to by a webdav client. Is this even posible. Thanks John Trollinger -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: [4.1.2] Milestone available for testing
Remy Maucherat wrote: The 4.1.2 milestone is available for testing. The vote on how much the build should be publicized will happen next week (unless a showstopper bug is found before, in which case a new milestone will be released). Binaries are available at: http://jakarta.apache.org/builds/jakarta-tomcat-4.0/test/v4.1.2/ Sure ;-) I have found 2 things: - The coyote connector does not do the bind in the init() but in the start(): +++ Catalina.start: LifecycleException: Protocol handler initialization failed: java.net.BindException: Permission denied:88 LifecycleException: Protocol handler initialization failed: java.net.BindException: Permission denied:88 at java.lang.Throwable.fillInStackTrace(Native Method) at java.lang.Throwable.fillInStackTrace(Compiled Code) at java.lang.Throwable.init(Compiled Code) at java.lang.Exception.init(Compiled Code) at org.apache.catalina.LifecycleException.init(LifecycleException.java:126) at org.apache.catalina.LifecycleException.init(LifecycleException.java:100) at org.apache.coyote.tomcat4.CoyoteConnector.start(CoyoteConnector.java:1018) +++ - The http connector throws an exception: +++ ServerLifecycleListener: createMBeans: MBeanException java.lang.Exception: ManagedBean is not found with Http11Connector at java.lang.Throwable.fillInStackTrace(Native Method) at java.lang.Throwable.fillInStackTrace(Compiled Code) at java.lang.Throwable.init(Compiled Code) at java.lang.Exception.init(Compiled Code) at org.apache.catalina.mbeans.MBeanUtils.createMBean(MBeanUtils.java:224) at org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans(ServerLifecycleListener.java:314) +++ WARNING: This is not an official Tomcat release and should be considered as stable as a nightly build. The build is available for testing purposes only. NOTE: There is the problem with the server.xml the Windows installer uses. See bug 9112 for more details. Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Tomcat WebDav servlet and webapp properties
John Trollinger writes: I admit that what I am trying to do is a hack up front, but any help would be great. I am trying make the webdav servlet that comes with tomcat like ftp over port 80. What we want to do is allow people to change files for any webapp deployed by connecting to the webdav webapp. The problem we are having is how fool the webdav servlet into using a different path. For example take a look at the following directory structure Tomcat -- webapps -- appone -- directoryone -- apptwo -- webdav We want the webdav servlet be able to be configured so that it uses the tomcat/webapps/appone/directoryone as the root path when connected to by a webdav client. Is this even posible. I hacked up a WebDav solution to a *person webfolder* requirement we had alittle while ago. It's not that clever, all it does is authenticate the user and take them to a personal WebDav folder under the WebDav context. It's a complete hack and not exactly what your after but mail me if you think it would help. ..Nick -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 7319] - codeBase in catalina.policy broken with jars
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=7319. 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=7319 codeBase in catalina.policy broken with jars --- Additional Comments From [EMAIL PROTECTED] 2002-05-16 15:30 --- Interesting! I rebuilt the war file, didn't include the parser, and now I get a different error. If I set security to: grant { permission java.security.AllPermission; }; Everything works fine. If I try to lock things down to the webapp dir/subdirs: grant codeBase file:${catalina.home}/webapps/prm_web/- { permission java.security.AllPermission; }; report/ppbmessage/b uInternal Server Error/u/ppbdescription/b uThe server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request./u/ppbexception/b prejava.lang.NullPointerException at prm_db_query.PrmDataSource.submitQuery(PrmDataSource.java:147) at prm_db_forms.QueryManagerAction.submitQuery(QueryManagerAction.java:205) at prm_db_forms.QueryManagerAction.perform(QueryManagerAction.java:106) I've also tried setting the permissions also with the lib/- and the classes/-. It works to the point of the remote query to a postgresql db, but dies there. I'm thinking that this is less of a bug and more of a config issue, since it works if I wide open things with the security manager. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Tomcat WebDav servlet and webapp properties
Yeah.. It might.. Can you send it over to me.. [EMAIL PROTECTED] Thanks, John -Original Message- From: Nick Sharples [mailto:[EMAIL PROTECTED]] Sent: Thursday, May 16, 2002 10:27 AM To: Tomcat Developers List Subject: Re: Tomcat WebDav servlet and webapp properties John Trollinger writes: I admit that what I am trying to do is a hack up front, but any help would be great. I am trying make the webdav servlet that comes with tomcat like ftp over port 80. What we want to do is allow people to change files for any webapp deployed by connecting to the webdav webapp. The problem we are having is how fool the webdav servlet into using a different path. For example take a look at the following directory structure Tomcat -- webapps -- appone -- directoryone -- apptwo -- webdav We want the webdav servlet be able to be configured so that it uses the tomcat/webapps/appone/directoryone as the root path when connected to by a webdav client. Is this even posible. I hacked up a WebDav solution to a *person webfolder* requirement we had alittle while ago. It's not that clever, all it does is authenticate the user and take them to a personal WebDav folder under the WebDav context. It's a complete hack and not exactly what your after but mail me if you think it would help. ..Nick -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 9164] New: - Incompatible type for method: handlePageException
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=9164. 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=9164 Incompatible type for method: handlePageException Summary: Incompatible type for method: handlePageException Product: Tomcat 4 Version: 4.0 Beta 1 Platform: Other OS/Version: Windows 9x Status: NEW Severity: Normal Priority: Other Component: Unknown AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] type Exception report message Internal Server Error description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated. C:\Program Files\Apache Tomcat 4.0 \work\localhost\gleaves\catalogue$jsp.java:136: Incompatible type for method. Explicit cast needed to convert java.lang.Throwable to java.lang.Exception. if (pageContext != null) pageContext.handlePageException(t); ^ 1 error, 1 warning at org.apache.jasper.compiler.Compiler.compile(Compiler.java:285) at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:552) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary (JspServlet.java:177) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service (JspServlet.java:189) at org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:382) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:190) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:566) at org.apache.catalina.valves.CertificatesValve.invoke (CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke (StandardContext.java:2343) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke (ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:564) at org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:468) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process (HttpProcessor.java:1012) at org.apache.catalina.connector.http.HttpProcessor.run (HttpProcessor.java:1107) at java.lang.Thread.run(Thread.java:536) -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 9165] New: - null pointer ex. at startup crashes tomcat
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=9165. 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=9165 null pointer ex. at startup crashes tomcat Summary: null pointer ex. at startup crashes tomcat Product: Tomcat 3 Version: 3.3.1 Final Platform: HP OS/Version: HP-UX Status: NEW Severity: Blocker Priority: Other Component: Config AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] # ./tomcat.sh start debug Using classpath: /opt/java118/lib/classes.zip:/opt/jakarta-tomcat-3.3.1/lib/tomcat.jar:/opt/jakarta-tomcat-3.3.1/lib/common/etomcat.jar:/opt/jakarta-tomcat-3.3.1/lib/common/tomcat_core.jar:/opt/jakarta-tomcat-3.3.1/lib/common/core_util.jar:/opt/jakarta-tomcat-3.3.1/lib/common/connector_util.jar:/opt/jakarta-tomcat-3.3.1/lib/common/jasper-runtime.jar:/opt/jakarta-tomcat-3.3.1/lib/common/servlet.jar:/opt/jakarta-tomcat-3.3.1/lib/container/tomcat_modules.jar:/opt/jakarta-tomcat-3.3.1/lib/container/crimson.jar:/opt/jakarta-tomcat-3.3.1/lib/container/facade22.jar:/opt/jakarta-tomcat-3.3.1/lib/container/jasper.jar:/opt/jakarta-tomcat-3.3.1/lib/container/tomcat_util.jar:/opt/jakarta-tomcat-3.3.1/lib/container/xalan.jar Using JAVA_HOME: /opt/java Using TOMCAT_HOME: .. $ Jdk11Compat: Installing jar protocol handler ERROR reading /opt/jakarta-tomcat-3.3.1/conf/server.xml At Line 13 /Server/ContextManager/LoaderInterceptor11/ useApplicationLoader=true java.lang.NullPointerException at org.apache.tomcat.util.xml.ObjectCreate.start(XmlMapper.java:772) at org.apache.tomcat.util.xml.XmlMapper.matchStart(XmlMapper.java:493) at org.apache.tomcat.util.xml.XmlMapper.startElement(XmlMapper.java:87) at org.xml.sax.helpers.XMLReaderAdapter.startElement(XMLReaderAdapter.java:333) at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1490) at org.apache.crimson.parser.Parser2.content(Parser2.java:1779) at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507) at org.apache.crimson.parser.Parser2.content(Parser2.java:1779) at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507) at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500) at org.apache.crimson.parser.Parser2.parse(Parser2.java:305) at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442) at org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:223) at org.apache.tomcat.util.xml.XmlMapper.readXml(XmlMapper.java:311) at org.apache.tomcat.modules.config.ServerXmlReader.loadConfigFile(ServerXmlReader.java:173) at org.apache.tomcat.modules.config.ServerXmlReader.addInterceptor(ServerXmlReader.java:149) at org.apache.tomcat.core.ContextManager.addInterceptor(ContextManager.java:436) at org.apache.tomcat.startup.EmbededTomcat.initContextManager(EmbededTomcat.java:552) at org.apache.tomcat.startup.EmbededTomcat.execute1(EmbededTomcat.java:703) at org.apache.tomcat.startup.EmbededTomcat$1.run(EmbededTomcat.java:687) at org.apache.tomcat.util.compat.Jdk11Compat.doPrivileged(Jdk11Compat.java:106) at org.apache.tomcat.startup.EmbededTomcat.execute(EmbededTomcat.java:685) at org.apache.tomcat.util.IntrospectionUtils.execute(IntrospectionUtils.java:87) at org.apache.tomcat.startup.Main.execute(Main.java:313) at org.apache.tomcat.startup.Main.main(Main.java:140) EmbededTomcat: exception initializing ContextManager org.apache.tomcat.core.TomcatException: Root cause - null at org.apache.tomcat.modules.config.ServerXmlReader.loadConfigFile(ServerXmlReader.java:177) at org.apache.tomcat.modules.config.ServerXmlReader.addInterceptor(ServerXmlReader.java:149) at org.apache.tomcat.core.ContextManager.addInterceptor(ContextManager.java:436) at org.apache.tomcat.startup.EmbededTomcat.initContextManager(EmbededTomcat.java:552) at org.apache.tomcat.startup.EmbededTomcat.execute1(EmbededTomcat.java:703) at org.apache.tomcat.startup.EmbededTomcat$1.run(EmbededTomcat.java:687) at org.apache.tomcat.util.compat.Jdk11Compat.doPrivileged(Jdk11Compat.java:106) at org.apache.tomcat.startup.EmbededTomcat.execute(EmbededTomcat.java:685) at org.apache.tomcat.util.IntrospectionUtils.execute(IntrospectionUtils.java:87) at org.apache.tomcat.startup.Main.execute(Main.java:313) at org.apache.tomcat.startup.Main.main(Main.java:140) Guessed home=/opt/jakarta-tomcat-3.3.1/lib Exception:
Re: [4.1.2] Milestone available for testing
Remy Maucherat wrote: The 4.1.2 milestone is available for testing. The vote on how much the build should be publicized will happen next week (unless a showstopper bug is found before, in which case a new milestone will be released). Binaries are available at: http://jakarta.apache.org/builds/jakarta-tomcat-4.0/test/v4.1.2/ Sure ;-) I have found 2 things: - The coyote connector does not do the bind in the init() but in the start(): The endpoint (in j-t-c/util) needs to be refactored to do that. Unfortunately, nobody replied to my proposal to add an init method there. I'll do it, and see if anyone -1s it. - The http connector throws an exception: +++ You shouldn't use the old HTTP/1.1 connector ;-) I think we should add back the MBeans declarations, though. To get rid of the exception, you can disable the MBean related listeners (but then, the admin webapp won't work). Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Conncurency issue with tomcat???
1. Sometimes we see that the same session is started in two threads concurrently. That, I can imagine it could happen. I don't think it would, but at least I can imagine there could be a bug somewhere with the manager which would cause this. 2. Sometimes one of the request for the user is processed two times. I don't think this can happen. (single request, being parsed once, and being processed twice) You can test with Coyote 1.0b8 to see what happens. If it works fine with that, then it is a problem with the HTTP connector. If it still doesn't work (especially the second point, which would be a problem with the connector), then it's a bug with the client. You should also use some other HTTP clients to see what happens (commons HTTPClient, or the HTTP client Peter Lin mentioned). Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: [4.1.2] Milestone available for testing
Remy Maucherat wrote: Remy Maucherat wrote: The 4.1.2 milestone is available for testing. The vote on how much the build should be publicized will happen next week (unless a showstopper bug is found before, in which case a new milestone will be released). Binaries are available at: http://jakarta.apache.org/builds/jakarta-tomcat-4.0/test/v4.1.2/ Sure ;-) I have found 2 things: - The coyote connector does not do the bind in the init() but in the start(): The endpoint (in j-t-c/util) needs to be refactored to do that. Unfortunately, nobody replied to my proposal to add an init method there. I'll do it, and see if anyone -1s it. +1 - The http connector throws an exception: +++ You shouldn't use the old HTTP/1.1 connector ;-) I think we should add back the MBeans declarations, though. -0. That is better to spend time on Coyote. To get rid of the exception, you can disable the MBean related listeners (but then, the admin webapp won't work). Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 9164] - Incompatible type for method: handlePageException
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=9164. 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=9164 Incompatible type for method: handlePageException [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||INVALID --- Additional Comments From [EMAIL PROTECTED] 2002-05-16 17:04 --- You have the older servlet API classes available to your webapp, which have a slight incompatibility with the new ones, causing the compilation failure. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 8675] - Unable to get Request Querystring parameters using getParameter( )
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=8675. 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=8675 Unable to get Request Querystring parameters using getParameter( ) --- Additional Comments From [EMAIL PROTECTED] 2002-05-16 17:15 --- Thanks Remy - I have not tried a new connecter, but I have moved to using Sun jdk1.3.1_03 to run Tomcat - ( required limiting stack size : ulimit -s 2048 ) and have not experienced the problem since. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 9172] New: - ClassLoader issue with custom Valve
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=9172. 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=9172 ClassLoader issue with custom Valve Summary: ClassLoader issue with custom Valve Product: Tomcat 4 Version: 4.0.2 Final Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: Enhancement Priority: Other Component: Catalina AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] I'm trying to load a custom valve with the following tag. Valve className=com.ee.servlet.HandleJspServlet/ It will be loaded fine from within the server/lib directory, however I got a ClassNotFoundException when I placed it's Jar file in the WEB-INF/lib directory. The problem is that the HandleJspServlet class depends on our sites main jar file, forcing us to have to place it in the $tomcat_home/common/lib directory. This slows down developement, becuase we can't have our main jar file reloaded everytime we recreate it. If the Valve could be loaded from the Context it's in, that would solve our problem. Brian -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net PoolTcpEndpoint.java
remm02/05/16 11:57:39 Modified:coyote/src/java/org/apache/coyote ProtocolHandler.java coyote/src/java/org/apache/coyote/tomcat4 CoyoteConnector.java LocalStrings.properties http11/src/java/org/apache/coyote/http11 Http11Protocol.java jk/java/org/apache/jk/server JkCoyoteHandler.java util/java/org/apache/tomcat/util/net PoolTcpEndpoint.java Log: - Add support for a two phase protocol init (init where the port binding occurs, and start where the connector is actually started). This allows to run TC on port 80 without root on Unix, as it was possible with the old HTTP/1.1 connector. - The modified endpoint should be 100% compatible with all existing code using it (the start method calls the init method if it hasn't been called before). Revision ChangesPath 1.3 +8 -1 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/ProtocolHandler.java Index: ProtocolHandler.java === RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/ProtocolHandler.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ProtocolHandler.java 5 Apr 2002 15:52:45 - 1.2 +++ ProtocolHandler.java 16 May 2002 18:57:39 - 1.3 @@ -93,9 +93,16 @@ /** - * Start the protocol. + * Init the protocol. */ public void init() +throws Exception; + + +/** + * Start the protocol. + */ +public void start() throws Exception; 1.14 +14 -6 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteConnector.java Index: CoyoteConnector.java === RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteConnector.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- CoyoteConnector.java 6 May 2002 21:43:29 - 1.13 +++ CoyoteConnector.java 16 May 2002 18:57:39 - 1.14 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteConnector.java,v 1.13 2002/05/06 21:43:29 remm Exp $ - * $Revision: 1.13 $ - * $Date: 2002/05/06 21:43:29 $ + * $Header: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteConnector.java,v 1.14 2002/05/16 18:57:39 remm Exp $ + * $Revision: 1.14 $ + * $Date: 2002/05/16 18:57:39 $ * * * @@ -112,7 +112,7 @@ * * @author Craig R. McClanahan * @author Remy Maucherat - * @version $Revision: 1.13 $ $Date: 2002/05/06 21:43:29 $ + * @version $Revision: 1.14 $ $Date: 2002/05/16 18:57:39 $ */ @@ -995,6 +995,14 @@ + false); } +try { +protocolHandler.init(); +} catch (Exception e) { +throw new LifecycleException +(sm.getString + (coyoteConnector.protocolHandlerInitializationFailed, e)); +} + } @@ -1013,11 +1021,11 @@ started = true; try { -protocolHandler.init(); +protocolHandler.start(); } catch (Exception e) { throw new LifecycleException (sm.getString - (coyoteConnector.protocolHandlerInitializationFailed, e)); + (coyoteConnector.protocolHandlerStartFailed, e)); } } 1.4 +1 -0 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/LocalStrings.properties Index: LocalStrings.properties === RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/LocalStrings.properties,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- LocalStrings.properties 18 Apr 2002 18:12:46 - 1.3 +++ LocalStrings.properties 16 May 2002 18:57:39 - 1.4 @@ -9,6 +9,7 @@ coyoteConnector.protocolHandlerDestroyFailed=Protocol handler destroy failed: {0} coyoteConnector.protocolHandlerInitializationFailed=Protocol handler initialization failed: {0} coyoteConnector.protocolHandlerInstantiationFailed=Protocol handler instantiation failed: {0} +coyoteConnector.protocolHandlerStartFailed=Protocol handler start failed: {0} # # CoyoteAdapter 1.12 +13 -3 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Protocol.java Index: Http11Protocol.java
cvs commit: jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11 Http11Protocol.java LocalStrings.properties
remm02/05/16 12:25:41 Modified:http11/src/java/org/apache/coyote/http11 Http11Protocol.java LocalStrings.properties Log: - Do the i18n for the HTTP/1.1 protocol handler. Revision ChangesPath 1.13 +25 -11 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Protocol.java Index: Http11Protocol.java === RCS file: /home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Protocol.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- Http11Protocol.java 16 May 2002 18:57:39 - 1.12 +++ Http11Protocol.java 16 May 2002 19:25:41 - 1.13 @@ -85,6 +85,13 @@ */ public class Http11Protocol implements ProtocolHandler { + +/** + * The string manager for this package. + */ +protected static StringManager sm = +StringManager.getManager(Constants.Package); + Adapter adapter; Http11ConnectionHandler cHandler=new Http11ConnectionHandler( this ); @@ -92,7 +99,7 @@ */ public void setAttribute( String name, Object value ) { -log.info(setAttribute + name + + value ); +log.info(sm.getString(http11protocol.setattribute, name, value)); attributes.put(name, value); /* if (maxKeepAliveRequests.equals(name)) { @@ -125,7 +132,8 @@ try { checkSocketFactory(); } catch( Exception ex ) { -log.error( Error initializing socket factory, ex ); +log.error(sm.getString(http11protocol.socketfactory.initerror), + ex); throw ex; } @@ -141,10 +149,10 @@ try { ep.initEndpoint(); } catch (Exception ex) { -log.error(Error initializing endpoint, ex); +log.error(sm.getString(http11protocol.endpoint.initerror), ex); throw ex; } -log.info( Init on + ep.getPort() ); +log.info(sm.getString(http11protocol.init, + ep.getPort())); } @@ -152,10 +160,10 @@ try { ep.startEndpoint(); } catch (Exception ex) { -log.error(Error starting endpoint, ex); +log.error(sm.getString(http11protocol.endpoint.starterror), ex); throw ex; } -log.info( Starting on + ep.getPort() ); +log.info(sm.getString(http11protocol.start, + ep.getPort())); } public void destroy() throws Exception { @@ -382,12 +390,18 @@ TcpConnection.shutdownInput( socket ); } catch(java.net.SocketException e) { // SocketExceptions are normal -proto.log.info( SocketException reading request, ignored); -proto.log.debug( SocketException reading request:, e); +proto.log.info(sm.getString + (http11protocol.proto.socketexception.info)); +proto.log.debug +(sm.getString + (http11protocol.proto.socketexception.debug), e); } catch (java.io.IOException e) { // IOExceptions are normal -proto.log.info( IOException reading request, ignored); -proto.log.debug( IOException reading request:, e); +proto.log.info(sm.getString + (http11protocol.proto.ioexception.info)); +proto.log.debug +(sm.getString + (http11protocol.proto.ioexception.debug), e); } // Future developers: if you discover any other // rare-but-nonfatal exceptions, catch them here, and log as @@ -396,7 +410,7 @@ // any other exception or error is odd. Here we log it // with ERROR level, so it will show up even on // less-than-verbose logs. -proto.log.error( Error reading request, ignored, e); +proto.log.error(sm.getString(http11protocol.proto.error), e); } finally { // if(proto.adapter != null) proto.adapter.recycle(); //processor.recycle(); 1.3 +13 -1 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/LocalStrings.properties Index: LocalStrings.properties === RCS file: /home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/LocalStrings.properties,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- LocalStrings.properties 18 Apr 2002 18:16:01 - 1.2
cvs commit: jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler TagLibraryInfoImpl.java
kinman 02/05/16 12:25:55 Modified:jasper/src/share/org/apache/jasper/compiler TagLibraryInfoImpl.java Log: - Fixed 5793: Jasper should issue error when the variable element is defined in the tld, AND a TEI class is also provided. Revision ChangesPath 1.26 +14 -3 jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java Index: TagLibraryInfoImpl.java === RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- TagLibraryInfoImpl.java 12 Dec 2001 18:43:16 - 1.25 +++ TagLibraryInfoImpl.java 16 May 2002 19:25:55 - 1.26 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v 1.25 2001/12/12 18:43:16 kinman Exp $ - * $Revision: 1.25 $ - * $Date: 2001/12/12 18:43:16 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v 1.26 2002/05/16 19:25:55 kinman Exp $ + * $Revision: 1.26 $ + * $Date: 2002/05/16 19:25:55 $ * * The Apache Software License, Version 1.1 * @@ -415,6 +415,17 @@ ); } +// JSP.C1: It is a (translation time) error for an action that + // has one or more variable subelements to have a TagExtraInfo + // class that returns a non-null object. + + if (tei != null variableVector.size() != 0) { + throw new JasperException( + Constants.getString( + jsp.warning.teiclass.is.nonnull, + new Object[] {teiclass})); +} + TagInfo taginfo = new TagInfo(name, tagclass, bodycontent, info, this, tei, -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/resources messages.properties
kinman 02/05/16 12:27:17 Modified:jasper/src/share/org/apache/jasper/resources messages.properties Log: Revision ChangesPath 1.27 +2 -1 jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/resources/messages.properties Index: messages.properties === RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/resources/messages.properties,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- messages.properties 6 May 2002 20:54:39 - 1.26 +++ messages.properties 16 May 2002 19:27:17 - 1.27 @@ -1,4 +1,4 @@ -# $Id: messages.properties,v 1.26 2002/05/06 20:54:39 kinman Exp $ +# $Id: messages.properties,v 1.27 2002/05/16 19:27:17 kinman Exp $ # # Default localized string information # Localized this the Default Locale as is en_US @@ -122,6 +122,7 @@ jsp.warning.unknown.element.in.attribute=Warning: Unknown element {0} in attribute jsp.error.more.than.one.taglib=More than one taglib in the TLD: {0} jsp.warning.teiclass.is.null=Could not load TagExtraInfo class {0}: {1} +jsp.warning.teiclass.is.nonnull=variable susbelement defined in tld when TagExtraInfo class {0} is non-null jsp.error.parse.error.in.TLD=Parse Error in the tag library descriptor: {0} jsp.error.unable.to.open.TLD=Unable to open the tag library descriptor: {0} jsp.buffer.size.zero=Buffer size = 0 -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/resources messages.properties
kinman 02/05/16 12:31:36 Modified:jasper/src/share/org/apache/jasper/compiler Tag: tomcat_40_branch TagLibraryInfoImpl.java jasper/src/share/org/apache/jasper/resources Tag: tomcat_40_branch messages.properties Log: - Fixed 5793. Revision ChangesPath No revision No revision 1.23.2.3 +14 -3 jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java Index: TagLibraryInfoImpl.java === RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v retrieving revision 1.23.2.2 retrieving revision 1.23.2.3 diff -u -r1.23.2.2 -r1.23.2.3 --- TagLibraryInfoImpl.java 12 Dec 2001 18:47:24 - 1.23.2.2 +++ TagLibraryInfoImpl.java 16 May 2002 19:31:36 - 1.23.2.3 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v 1.23.2.2 2001/12/12 18:47:24 kinman Exp $ - * $Revision: 1.23.2.2 $ - * $Date: 2001/12/12 18:47:24 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v 1.23.2.3 2002/05/16 19:31:36 kinman Exp $ + * $Revision: 1.23.2.3 $ + * $Date: 2002/05/16 19:31:36 $ * * The Apache Software License, Version 1.1 * @@ -415,6 +415,17 @@ ); } +// JSP.C1: It is a (translation time) error for an action that + // has one or more variable subelements to have a TagExtraInfo + // class that returns a non-null object. + + if (tei != null variableVector.size() != 0) { + throw new JasperException( + Constants.getString( + jsp.warning.teiclass.is.nonnull, + new Object[] {teiclass})); +} + TagInfo taginfo = new TagInfo(name, tagclass, bodycontent, info, this, tei, No revision No revision 1.20.2.7 +2 -1 jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/resources/messages.properties Index: messages.properties === RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/resources/messages.properties,v retrieving revision 1.20.2.6 retrieving revision 1.20.2.7 diff -u -r1.20.2.6 -r1.20.2.7 --- messages.properties 6 May 2002 23:35:28 - 1.20.2.6 +++ messages.properties 16 May 2002 19:31:36 - 1.20.2.7 @@ -1,4 +1,4 @@ -# $Id: messages.properties,v 1.20.2.6 2002/05/06 23:35:28 kinman Exp $ +# $Id: messages.properties,v 1.20.2.7 2002/05/16 19:31:36 kinman Exp $ # # Default localized string information # Localized this the Default Locale as is en_US @@ -122,6 +122,7 @@ jsp.warning.unknown.element.in.attribute=Warning: Unknown element {0} in attribute jsp.error.more.than.one.taglib=More than one taglib in the TLD: {0} jsp.warning.teiclass.is.null=Could not load TagExtraInfo class {0}: {1} +jsp.warning.teiclass.is.nonnull=variable susbelement defined in tld when TagExtraInfo class {0} is non-null jsp.error.parse.error.in.TLD=Parse Error in the tag library descriptor: {0} jsp.error.unable.to.open.TLD=Unable to open the tag library descriptor: {0} jsp.buffer.size.zero=Buffer size = 0 -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector SaveConnectorAction.java
amyroh 02/05/16 13:05:50 Modified:webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector SaveConnectorAction.java Log: Minor fix to only set proxy name, keystore file name and keystore password when a user enters values. Currently it was still setting these values because they're never null. Revision ChangesPath 1.11 +7 -7 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java Index: SaveConnectorAction.java === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- SaveConnectorAction.java 14 May 2002 23:30:30 - 1.10 +++ SaveConnectorAction.java 16 May 2002 20:05:50 - 1.11 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java,v 1.10 2002/05/14 23:30:30 manveen Exp $ - * $Revision: 1.10 $ - * $Date: 2002/05/14 23:30:30 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java,v 1.11 2002/05/16 20:05:50 amyroh Exp $ + * $Revision: 1.11 $ + * $Date: 2002/05/16 20:05:50 $ * * * @@ -95,7 +95,7 @@ * emEdit Connector/em transactions. * * @author Manveen Kaur - * @version $Revision: 1.10 $ $Date: 2002/05/14 23:30:30 $ + * @version $Revision: 1.11 $ $Date: 2002/05/16 20:05:50 $ */ public final class SaveConnectorAction extends Action { @@ -341,7 +341,7 @@ if (!(AJP.equalsIgnoreCase(connectorType))) { attribute = proxyName; String proxyName = cform.getProxyName(); -if ((proxyName != null) || (proxyName.length()0)) { +if ((proxyName != null) (proxyName.length()0)) { mBServer.setAttribute(coname, new Attribute(proxyName, proxyName)); } @@ -366,13 +366,13 @@ attribute = keystoreFile; String keyFile = cform.getKeyStoreFileName(); -if ((keyFile != null) || (keyFile.length()0)) +if ((keyFile != null) (keyFile.length()0)) mBServer.setAttribute(coname, new Attribute(keystoreFile, keyFile)); attribute = keystorePass; String keyPass = cform.getKeyStorePassword(); -if ((keyPass != null) || (keyPass.length()0)) +if ((keyPass != null) (keyPass.length()0)) mBServer.setAttribute(coname, new Attribute(keystorePass, keyPass)); // request.setAttribute(warning, connector.keyPass.warning); -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans StandardServerMBean.java
amyroh 02/05/16 13:18:49 Modified:catalina/src/share/org/apache/catalina/mbeans StandardServerMBean.java Log: Add xml encoding of special characters '', '', ''', '', '' when writing out to server.xml. xml parser exception was thrown when a user enters these chracters and save in admin tool before. Revision ChangesPath 1.22 +34 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java Index: StandardServerMBean.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- StandardServerMBean.java 3 May 2002 23:19:37 - 1.21 +++ StandardServerMBean.java 16 May 2002 20:18:49 - 1.22 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java,v 1.21 2002/05/03 23:19:37 craigmcc Exp $ - * $Revision: 1.21 $ - * $Date: 2002/05/03 23:19:37 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java,v 1.22 2002/05/16 20:18:49 amyroh Exp $ + * $Revision: 1.22 $ + * $Date: 2002/05/16 20:18:49 $ * * * @@ -123,7 +123,7 @@ * codeorg.apache.catalina.core.StandardServer/code component./p * * @author Amy Roh - * @version $Revision: 1.21 $ $Date: 2002/05/03 23:19:37 $ + * @version $Revision: 1.22 $ $Date: 2002/05/16 20:18:49 $ */ public class StandardServerMBean extends BaseModelMBean { @@ -333,6 +333,34 @@ // Private Methods +/** Given a string, this method replaces all occurrences of + * '', '', '', and ''. +*/ + +private String convertStr(String input) { + +StringBuffer filtered = new StringBuffer(input.length()); +char c; +for(int i=0; iinput.length(); i++) { +c = input.charAt(i); +if (c == '') { +filtered.append(lt;); +} else if (c == '') { +filtered.append(gt;); +} else if (c == '\'') { +filtered.append(apos;); +} else if (c == '') { +filtered.append(quot;); +} else if (c == '') { +filtered.append(amp;); +} else { +filtered.append(c); +} +} +return(filtered.toString()); +} + + /** * Is this an instance of the default codeLoader/code configuration, * with all-default properties? @@ -509,7 +537,8 @@ writer.print(' '); writer.print(descriptors[i].getName()); writer.print(=\); -writer.print((String) value); +String strValue = convertStr((String) value); +writer.print(strValue); writer.print(\); } -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Switching javac for jasper 2
Tomcat has been using sun.tools.javac.Main as the default java compiler for compiling the java files generated by Jasper. This compiler is essentially a JDK1.2 compiler, current deprecated and unsupported. The warning message Note: sun.tools.javac.Main has been deprecated is probably familiar to a lot of people. The compiler to use is com.sun.tools.javac.Main. The only thing that prevented us from switching over to this one is the fact that it does not allow a PrintWriter to be specified for error messages that it may produce, which essentially force tomcat to synchronize all compilation processes, a big performance hit. I believe that J2sdk1.4.1, currently targetted for FCS in fall 2002, will provide a javac.Main which allows us to specify a PrintWriter, essentially removing the need for synchronizing the compilation. We definitely will use that when it becomes available. However, I recently runs into problem with sun.tools.javac.Main which surfaces when a jsp page gets large. Sometimes it produces bogus errors, and somteitmes it even produces bad class files that cannot be loaded by VM. I am contemplating switching over to using com.sun.tools.javac.Main now, for 4.1 (jasper2). If there are objections, please let me know. BTW, anyone know the best way to capture javac error messages written to standard err stream? I want to avoid calling Runtime.getRuntime().exec if there is a way. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans mbeans-descriptors.xml
amyroh 02/05/16 13:46:00 Modified:catalina/src/share/org/apache/catalina/mbeans mbeans-descriptors.xml Log: Add back the mbean descriptions for Http10Connector and Http11Connector. Revision ChangesPath 1.57 +155 -2 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml Index: mbeans-descriptors.xml === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml,v retrieving revision 1.56 retrieving revision 1.57 diff -u -r1.56 -r1.57 --- mbeans-descriptors.xml6 May 2002 23:08:31 - 1.56 +++ mbeans-descriptors.xml16 May 2002 20:46:00 - 1.57 @@ -6,7 +6,7 @@ !-- Descriptions of JMX MBeans for Catalina - $Id: mbeans-descriptors.xml,v 1.56 2002/05/06 23:08:31 craigmcc Exp $ + $Id: mbeans-descriptors.xml,v 1.57 2002/05/16 20:46:00 amyroh Exp $ -- mbeans-descriptors @@ -576,7 +576,160 @@ type=int/ /mbean - + + + mbean name=Http10Connector +className=org.apache.catalina.mbeans.ClassNameMBean + description=HTTP/1.0 Connector for Tomcat Standalone + domain=Catalina +group=Connector + type=org.apache.catalina.connector.http10.HttpConnector + +attribute name=acceptCount + description=The accept count for this Connector + type=int/ + +attribute name=address + description=The IP address on which to bind + type=java.lang.String/ + +attribute name=bufferSize + description=The input buffer size we should create on input streams + type=int/ + +attribute name=className + description=Fully qualified class name of the managed object + type=java.lang.String +writeable=false/ + +attribute name=connectionTimeout + description=Timeout value on the incoming connection + type=int/ + +attribute name=debug + description=The debugging detail level for this component + type=int/ + +attribute name=enableLookups + description=The 'enable DNS lookups' flag for this Connector + type=boolean/ + +attribute name=maxProcessors + description=The maximum number of processors allowed + type=int/ + +attribute name=minProcessors + description=The minimum number of processors to start at +initialization time + type=int/ + +attribute name=port + description=TCP port number to listen on + type=int/ + +attribute name=proxyName + description=The server name to which we should pretend requests to +this Connector were directed + type=java.lang.String/ + +attribute name=proxyPort + description=The server port to which we should pretend requests to +this Connector were directed + type=int/ + +attribute name=redirectPort + description=The redirect port for non-SSL to SSL redirects + type=int/ + +attribute name=scheme + description=Protocol name for this Connector (http, https) + type=java.lang.String/ + +attribute name=secure + description=Is this a secure (SSL) Connector? + type=boolean/ + + /mbean + + + mbean name=Http11Connector +className=org.apache.catalina.mbeans.ClassNameMBean + description=HTTP/1.1 Connector for Tomcat Standalone + domain=Catalina +group=Connector + type=org.apache.catalina.connector.http.HttpConnector + +attribute name=acceptCount + description=The accept count for this Connector + type=int/ + +attribute name=address + description=The IP address on which to bind + type=java.lang.String/ + +attribute name=allowChunking + description=Flag which indicates if HTTP/1.1 chunking transfer +encoding can be used + type=boolean/ + +attribute name=bufferSize + description=The input buffer size we should create on input streams + type=int/ + +attribute name=className + description=Fully qualified class name of the managed object + type=java.lang.String +writeable=false/ + +attribute name=connectionTimeout +
cvs commit: jakarta-tomcat-connectors/jk/native2/include jk_bean.h jk_channel.h jk_endpoint.h jk_global.h jk_msg.h jk_worker.h jk_workerEnv.h
costin 02/05/16 13:49:54 Modified:jk/native2/include jk_bean.h jk_channel.h jk_endpoint.h jk_global.h jk_msg.h jk_worker.h jk_workerEnv.h Log: Moved the 'id' to bean. Added a field for the processid. That's part of a very ugly workaround for the removal of child_num from Apache2 ( I hope I got it right ) ( see next commits ) Revision ChangesPath 1.3 +2 -0 jakarta-tomcat-connectors/jk/native2/include/jk_bean.h Index: jk_bean.h === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_bean.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- jk_bean.h 9 May 2002 20:51:29 - 1.2 +++ jk_bean.h 16 May 2002 20:49:53 - 1.3 @@ -122,6 +122,8 @@ */ char *type; +int id; + /* Full name of the object ( channel.socket:localhost:8080 ). * Used to construct the object. */ 1.11 +0 -2 jakarta-tomcat-connectors/jk/native2/include/jk_channel.h Index: jk_channel.h === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_channel.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- jk_channel.h 15 May 2002 19:32:42 - 1.10 +++ jk_channel.h 16 May 2002 20:49:53 - 1.11 @@ -102,8 +102,6 @@ struct jk_channel { struct jk_bean *mbean; -int id; - /* JK_TRUE if the channel is 'stream' based, i.e. it works using send() followed by blocking reads(). XXX make it type and define an enum of supported types ? 1.15 +1 -3 jakarta-tomcat-connectors/jk/native2/include/jk_endpoint.h Index: jk_endpoint.h === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_endpoint.h,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- jk_endpoint.h 15 May 2002 19:32:42 - 1.14 +++ jk_endpoint.h 16 May 2002 20:49:53 - 1.15 @@ -61,7 +61,7 @@ * Author: Gal Shachor [EMAIL PROTECTED] * Author: Dan Milstein [EMAIL PROTECTED] * Author: Henri Gomez [EMAIL PROTECTED] - * Version: $Revision: 1.14 $ + * Version: $Revision: 1.15 $ ***/ #ifndef JK_ENDPOINT_H @@ -122,8 +122,6 @@ */ struct jk_endpoint { struct jk_bean *mbean; - -int id; /* Parent */ 1.12 +2 -1 jakarta-tomcat-connectors/jk/native2/include/jk_global.h Index: jk_global.h === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_global.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- jk_global.h 15 May 2002 19:32:42 - 1.11 +++ jk_global.h 16 May 2002 20:49:53 - 1.12 @@ -59,7 +59,7 @@ * Description: Global definitions and include files that should exist * * anywhere * * Author: Gal Shachor [EMAIL PROTECTED] * - * Version: $Revision: 1.11 $ * + * Version: $Revision: 1.12 $ * ***/ #ifndef JK_GLOBAL_H @@ -238,6 +238,7 @@ #ifndef strncasecmp #define strncasecmp strnicmp #endif + #ifndef vsnprintf #define vsnprintf _vsnprintf #endif 1.8 +0 -3 jakarta-tomcat-connectors/jk/native2/include/jk_msg.h Index: jk_msg.h === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_msg.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- jk_msg.h 3 May 2002 17:36:46 - 1.7 +++ jk_msg.h 16 May 2002 20:49:53 - 1.8 @@ -94,9 +94,6 @@ * On receive - it will be recycled after reset() or equiv. * Same as on the java side. * - * XXX JNI: this was specially designed so it can be used for a JNI - * channel. It'll collect the params and convert them to java types. - * * @author Costin Manolache */ struct jk_msg { 1.23 +1 -2 jakarta-tomcat-connectors/jk/native2/include/jk_worker.h Index: jk_worker.h
cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache2 mod_jk2.c jk_service_apache2.c
costin 02/05/16 13:54:18 Modified:jk/native2/server/apache2 mod_jk2.c jk_service_apache2.c Log: We can't call find_by_pid in init() because the scoreboard may not be initialized or the process may not be registered. We can't call it in service() because linux will return the pid of the thread, which has nothing to do with the child id ( so it won't be found in the scoreboard ). We need the right pid to find the childId - it used to be available in connection_rec. We need the childId because there's no easy way to allocate a slot in the jk scoreboard ( or detect a slot is no longer used ). The current workaround is to get the pid in init(), which is called ( hopefully ) in the child main thread ( which is registered in the scoreboard ). And we find the child_num in service, when the scoreboard is supposed to be ok. ( we do the same for apache1.3 - since child_num is only available on the first connection ) Revision ChangesPath 1.23 +4 -9 jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c Index: mod_jk2.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- mod_jk2.c 15 May 2002 19:46:46 - 1.22 +++ mod_jk2.c 16 May 2002 20:54:18 - 1.23 @@ -59,7 +59,7 @@ * Description: Apache 2 plugin for Jakarta/Tomcat * * Author: Gal Shachor [EMAIL PROTECTED] * * Henri Gomez [EMAIL PROTECTED] * - * Version: $Revision: 1.22 $ * + * Version: $Revision: 1.23 $ * ***/ /* @@ -78,6 +78,7 @@ #include http_protocol.h #include http_main.h #include http_log.h +#include scoreboard.h #include util_script.h @@ -324,7 +325,7 @@ fprintf( stderr, Create config for virtual host\n); } else { /* Default host */ -fprintf( stderr, Create config for main host\n); +/* fprintf( stderr, Create config for main host\n); */ } jkb = workerEnv-globalEnv-createBean2( workerEnv-globalEnv, @@ -369,11 +370,6 @@ static char * jk2_init(jk_env_t *env, apr_pool_t *pconf, jk_workerEnv_t *workerEnv, server_rec *s ) { -apr_proc_t proc; - -proc.pid=getpid(); -workerEnv-childId=find_child_by_pid( proc ); - workerEnv-init(env, workerEnv ); workerEnv-server_name = (char *)ap_get_server_version(); ap_add_version_component(pconf, JK_EXPOSED_VERSION); @@ -450,6 +446,7 @@ workerEnv-parentInit( env, workerEnv); + /* if(!workerEnv-was_initialized) { */ /* workerEnv-was_initialized = JK_OK; */ @@ -492,13 +489,11 @@ */ static int jk2_handler(request_rec *r) { -const char *worker_name; jk_logger_t *l=NULL; int rc; jk_worker_t *worker=NULL; jk_endpoint_t *end = NULL; jk_uriEnv_t *uriEnv; -jk_uriEnv_t *dirEnv; jk_env_t *env; jk_workerEnv_t *workerEnv; 1.21 +30 -1 jakarta-tomcat-connectors/jk/native2/server/apache2/jk_service_apache2.c Index: jk_service_apache2.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/jk_service_apache2.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- jk_service_apache2.c 15 May 2002 19:46:46 - 1.20 +++ jk_service_apache2.c 16 May 2002 20:54:18 - 1.21 @@ -59,7 +59,7 @@ * Description: Apache 2 plugin for Jakarta/Tomcat * Author: Gal Shachor [EMAIL PROTECTED] * Henri Gomez [EMAIL PROTECTED] - * Version: $Revision: 1.20 $ + * Version: $Revision: 1.21 $ */ #include apu_compat.h @@ -354,7 +354,36 @@ /* Common initialization */ /* XXX Probably not needed, we're duplicating */ jk2_requtil_initRequest(env, s); + +/* Ugly hack to get the childId - the index used in the scoreboard, + which we'll use in the jk scoreboard +*/ +if( workerEnv-childId == -1 ) +{ +apr_proc_t proc; +proc.pid=workerEnv-childProcessId; + +/* detect if scoreboard exists, the method will SIGFLT + since it doesn't check internally +
cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache2 mod_jk.dsp
costin 02/05/16 13:54:57 Modified:jk/native2/server/apache2 mod_jk.dsp Log: Few fixes to get it built on windows. Revision ChangesPath 1.2 +2 -6 jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk.dsp Index: mod_jk.dsp === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk.dsp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- mod_jk.dsp17 Apr 2002 22:55:39 - 1.1 +++ mod_jk.dsp16 May 2002 20:54:57 - 1.2 @@ -69,7 +69,7 @@ # PROP Ignore_Export_Lib 0 # PROP Target_Dir # ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D WIN32 /D _DEBUG /D _WINDOWS /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I ..\..\include /I ..\include /I . /I $(JAVA_HOME)\include /I $(JAVA_HOME)\include\win32 /I $(APACHE2_HOME)\include /D _DEBUG /D WIN32 /D _WINDOWS /FdDebug\mod_jk /FD /c +# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I ..\..\include /I ..\include /I . /I $(JAVA_HOME)\include /I $(JAVA_HOME)\include\win32 /I $(APACHE2_HOME)\include /D _DEBUG /D WIN32 /D _WINDOWS /D HAS_APR /FdDebug\mod_jk /FD /c # ADD BASE MTL /nologo /D _DEBUG /mktyplib203 /win32 # ADD MTL /nologo /D _DEBUG /mktyplib203 /win32 # ADD BASE RSC /l 0x409 /d _DEBUG @@ -79,7 +79,7 @@ # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 libhttpd.lib libapr.lib libaprutil.lib kernel32.lib user32.lib advapi32.lib wsock32.lib /nologo /dll /debug /machine:I386 /libpath:$(APACHE2_HOME)/Debug /libpath:$(APACHE2_HOME)\srclib\apr\Debug /libpath:$(APACHE2_HOME)\srclib\apr-util\Debug /libpath:$(APACHE2_HOME)\lib +# ADD LINK32 libhttpd.lib libapr.lib libaprutil.lib kernel32.lib user32.lib advapi32.lib wsock32.lib /nologo /dll /debug /machine:I386 /out:Debug/mod_jk2.dll /libpath:$(APACHE2_HOME)/Debug /libpath:$(APACHE2_HOME)\srclib\apr\Debug /libpath:$(APACHE2_HOME)\srclib\apr-util\Debug /libpath:$(APACHE2_HOME)\lib !ENDIF @@ -105,10 +105,6 @@ # Begin Source File SOURCE=..\..\common\jk_config.c -# End Source File -# Begin Source File - -SOURCE=..\..\common\jk_config_registry.c # End Source File # Begin Source File -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache2 jk_logger_apache2.c
costin 02/05/16 13:55:23 Modified:jk/native2/server/apache2 jk_logger_apache2.c Log: Remove another log statement. Revision ChangesPath 1.23 +2 -2 jakarta-tomcat-connectors/jk/native2/server/apache2/jk_logger_apache2.c Index: jk_logger_apache2.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/jk_logger_apache2.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- jk_logger_apache2.c 14 May 2002 20:44:21 - 1.22 +++ jk_logger_apache2.c 16 May 2002 20:55:23 - 1.23 @@ -188,8 +188,8 @@ if( strcmp( name, level )==0 ) { _this-level = jk2_logger_file_parseLogLevel(env, value); if( _this-level == 0 ) { -_this-jkLog( env, _this, JK_LOG_ERROR, - Level %s %d \n, value, _this-level ); +/* _this-jkLog( env, _this, JK_LOG_ERROR, */ +/* Level %s %d \n, value, _this-level ); */ } return JK_OK; } -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache13 jk_service_apache13.c mod_jk2.c
costin 02/05/16 13:56:08 Modified:jk/native2/server/apache13 jk_service_apache13.c mod_jk2.c Log: Filter debugging, fix head, add support for the shm. It should work now reasonably well. Revision ChangesPath 1.5 +75 -76 jakarta-tomcat-connectors/jk/native2/server/apache13/jk_service_apache13.c Index: jk_service_apache13.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache13/jk_service_apache13.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- jk_service_apache13.c 25 Apr 2002 19:25:10 - 1.4 +++ jk_service_apache13.c 16 May 2002 20:56:08 - 1.5 @@ -105,33 +105,36 @@ headers=s-headers_out; numheaders = headers-size(env, headers); /* XXX As soon as we switch to jk_map_apache13, this will not be needed ! */ -env-l-jkLog(env, env-l, JK_LOG_INFO, - service.head() %d %d\n, s-status, - numheaders); +if( s-uriEnv-mbean-debug 0 ) +env-l-jkLog(env, env-l, JK_LOG_INFO, + service.head() %d %d\n, s-status, + numheaders); for(h = 0 ; h numheaders; h++) { char *name=headers-nameAt( env, headers, h ); char *val=headers-valueAt( env, headers, h ); -env-l-jkLog(env, env-l, JK_LOG_INFO, - service.head() %s: %s %d %d\n, name, val, h, headers-size( env, headers )); +if( s-uriEnv-mbean-debug 0 ) +env-l-jkLog(env, env-l, JK_LOG_INFO, + service.head() %s: %s %d %d\n, + name, val, h, headers-size( env, headers )); /* the cmp can also be avoided in we do this earlier and use the header id */ -if(!strcasecmp(name, Content-type)) { +if( strcasecmp(name, Content-type) == 0 ) { /* XXX should be done in handler ! */ char *tmp = ap_pstrdup(r-pool, val); ap_content_type_tolower(tmp); r-content_type = tmp; ap_table_set(r-headers_out, name, val); -} else if(!strcasecmp(name, Location)) { +} else if(strcasecmp(name, Location) == 0 ) { /* XXX setn */ ap_table_set(r-headers_out, name, val); -} else if(!strcasecmp(name, Content-Length)) { +} else if(strcasecmp(name, Content-Length) == 0) { ap_table_set(r-headers_out, name, val ); -} else if(!strcasecmp(name, Transfer-Encoding)) { +} else if(strcasecmp(name, Transfer-Encoding) == 0 ) { ap_table_set(r-headers_out,name, val); -} else if(!strcasecmp(name, Last-Modified)) { +} else if(strcasecmp(name, Last-Modified) == 0 ) { /* * If the script gave us a Last-Modified header, we can't just * pass it on blindly because of restrictions on future values. @@ -140,13 +143,12 @@ ap_set_last_modified(r); ap_table_set(r-headers_out, name, val); } else { -/* ap_table_add(r-headers_out, name, val); */ - ap_table_set(r-headers_out, name, val); +ap_table_add(r-headers_out, name, val); +/* ap_table_set(r-headers_out, name, val); */ } } -/* this NOP function was removed in apache 2.0 alpha14 */ -/* ap_send_http_header(r); */ +ap_send_http_header(r); s-response_started = JK_TRUE; return JK_OK; @@ -165,25 +167,26 @@ void *b, unsigned len, unsigned *actually_read) { -if(s s-ws_private b actually_read) { -if(!s-read_body_started) { - if(ap_should_client_block(s-ws_private)) { -s-read_body_started = JK_TRUE; -} -} +long rv; -if(s-read_body_started) { -long rv; -if ((rv = ap_get_client_block(s-ws_private, b, len)) 0) { -*actually_read = 0; -} else { -*actually_read = (unsigned) rv; -} -return JK_OK; +if(s==NULL || s-ws_private==NULL || b==NULL || actually_read==NULL ) { +return JK_ERR; +} + +if(!s-read_body_started) { +if(ap_should_client_block(s-ws_private)) { +s-read_body_started = JK_TRUE; } } -return JK_ERR; -} +rv = ap_get_client_block(s-ws_private, b, len); + +if( rv 0) { +*actually_read = 0; +} else { +*actually_read = (unsigned) rv; +} +return JK_OK; +} /* * Write a chunk of response data back to
cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_endpoint.c
costin 02/05/16 13:57:27 Modified:jk/native2/common jk_endpoint.c Log: Few fixes in the endpoint handling of shm Revision ChangesPath 1.14 +25 -11jakarta-tomcat-connectors/jk/native2/common/jk_endpoint.c Index: jk_endpoint.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_endpoint.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- jk_endpoint.c 15 May 2002 19:37:44 - 1.13 +++ jk_endpoint.c 16 May 2002 20:57:26 - 1.14 @@ -77,21 +77,35 @@ static int JK_METHOD jk2_endpoint_init(jk_env_t *env, jk_bean_t *bean ) { jk_endpoint_t *ep=(jk_endpoint_t *)bean-object; jk_stat_t *stats; +jk_workerEnv_t *wEnv=ep-workerEnv; /* alloc it inside the shm if possible */ -if( ep-workerEnv-epStat != NULL ep-workerEnv-childId = 0 ) { -jk_stat_t *statArray=(jk_stat_t *)ep-workerEnv-epStat-data; -stats= statArray[ ep-id ]; +if( wEnv-epStat==NULL ) { +if( wEnv-shm != NULL wEnv-childId = 0 ) { +char shmName[128]; +snprintf( shmName, 128, epStat.%d, wEnv-childId ); + +wEnv-epStat=wEnv-shm-createSlot( env, wEnv-shm, shmName, 8096 ); +wEnv-epStat-structCnt=0; +env-l-jkLog(env, env-l, JK_LOG_ERROR, workerEnv.init() create slot %s\n, shmName ); +} +} + +if( wEnv-epStat != NULL wEnv-childId = 0 ) { +jk_stat_t *statArray=(jk_stat_t *)wEnv-epStat-data; +stats= statArray[ ep-mbean-id ]; ep-workerEnv-epStat-structSize=sizeof( jk_stat_t ); -ep-workerEnv-epStat-structCnt=ep-id + 1; -env-l-jkLog(env, env-l, JK_LOG_INFO, - SHM stats %d %p %p %s %s childId=%d\n, ep-id, - ep-workerEnv-epStat-data, stats, - ep-mbean-localName, ep-mbean-name, ep-workerEnv-childId); +ep-workerEnv-epStat-structCnt=ep-mbean-id + 1; +if( ep-worker-mbean-debug 0 ) +env-l-jkLog(env, env-l, JK_LOG_INFO, + SHM stats %d %p %p %s %s childId=%d\n, ep-mbean-id, + ep-workerEnv-epStat-data, stats, + ep-mbean-localName, ep-mbean-name, ep-workerEnv-childId); } else { stats = (jk_stat_t *)ep-mbean-pool-calloc( env, ep-mbean-pool, sizeof( jk_stat_t ) ); -env-l-jkLog(env, env-l, JK_LOG_INFO, - Local stats %d %p %d\n, ep-id, ep-workerEnv-epStat, ep-workerEnv-childId ); +if( ep-worker-mbean-debug 0 ) +env-l-jkLog(env, env-l, JK_LOG_INFO, + Local stats %d %p %d\n, ep-mbean-id, ep-workerEnv-epStat, ep-workerEnv-childId ); } ep-stats=stats; @@ -103,6 +117,7 @@ ep-stats-totalTime=0; #endif + return JK_OK; } int JK_METHOD @@ -112,7 +127,6 @@ { jk_endpoint_t *e = (jk_endpoint_t *)pool-alloc(env, pool, sizeof(jk_endpoint_t)); -jk_workerEnv_t *workerEnv; int epId; if (e==NULL) { -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_registry.c jk_registry.h
costin 02/05/16 13:58:44 Modified:jk/native2/common jk_registry.c jk_registry.h Log: The shm object will be registered in all cases. Inside jk_shm we'll detect what we can use and disable the component if no shm is available. Revision ChangesPath 1.23 +3 -4 jakarta-tomcat-connectors/jk/native2/common/jk_registry.c Index: jk_registry.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_registry.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- jk_registry.c 15 May 2002 19:45:45 - 1.22 +++ jk_registry.c 16 May 2002 20:58:44 - 1.23 @@ -67,7 +67,7 @@ /*** * Description: Worker list* - * Version: $Revision: 1.22 $ * + * Version: $Revision: 1.23 $ * ***/ /** Static declarations for all 'hardcoded' modules. This is a hack, @@ -133,10 +133,9 @@ #ifdef HAS_APR env-registerFactory( env, channel.apr, jk2_channel_apr_socket_factory ); -#if APR_HAS_SHARED_MEMORY - env-registerFactory( env, shm, jk2_shm_factory ); -#endif #endif + + env-registerFactory( env, shm, jk2_shm_factory ); env-registerFactory( env, channel.socket, jk2_channel_socket_factory ); 1.14 +2 -2 jakarta-tomcat-connectors/jk/native2/common/jk_registry.h Index: jk_registry.h === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_registry.h,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- jk_registry.h 9 May 2002 00:05:14 - 1.13 +++ jk_registry.h 16 May 2002 20:58:44 - 1.14 @@ -62,7 +62,7 @@ /*** * Description: Worker list* - * Version: $Revision: 1.13 $ * + * Version: $Revision: 1.14 $ * ***/ /** Static declarations for all 'hardcoded' modules. This is a hack, @@ -133,12 +133,12 @@ int JK_METHOD jk2_channel_apr_socket_factory(jk_env_t *env, jk_pool_t *pool, jk_bean_t *result, const char *type, const char *name); +#endif int JK_METHOD jk2_shm_factory(jk_env_t *env, jk_pool_t *pool, jk_bean_t *result, const char *type, const char *name); -#endif int JK_METHOD jk2_channel_jni_factory(jk_env_t *env, jk_pool_t *pool, jk_bean_t *result, -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources messages.properties
kinman 02/05/16 13:59:21 Modified:jasper2/src/share/org/apache/jasper/compiler TagLibraryInfoImpl.java jasper2/src/share/org/apache/jasper/resources messages.properties Log: - Fixed 5793 Revision ChangesPath 1.2 +13 -3 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java Index: TagLibraryInfoImpl.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- TagLibraryInfoImpl.java 28 Mar 2002 18:46:17 - 1.1 +++ TagLibraryInfoImpl.java 16 May 2002 20:59:21 - 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v 1.1 2002/03/28 18:46:17 kinman Exp $ - * $Revision: 1.1 $ - * $Date: 2002/03/28 18:46:17 $ + * $Header: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v 1.2 2002/05/16 20:59:21 kinman Exp $ + * $Revision: 1.2 $ + * $Date: 2002/05/16 20:59:21 $ * * The Apache Software License, Version 1.1 * @@ -86,6 +86,7 @@ Hashtable jarEntries; JspCompilationContext ctxt; +ErrorDispatcher err; private final void print(String name, String value, PrintWriter w) { if (value != null) { @@ -144,6 +145,7 @@ super(prefix, uriIn); this.ctxt = ctxt; + this.err = err; ZipInputStream zin; InputStream in = null; URL url = null; @@ -375,6 +377,14 @@ Logger.WARNING ); } + +// JSP.C1: It is a (translation time) error for an action that +// has one or more variable subelements to have a TagExtraInfo +// class that returns a non-null object. + +if (tei != null variableVector.size() != 0) { +err.jspError(jsp.warning.teiclass.is.nonnull, teiclass); +} TagInfo taginfo = new TagInfo(name, tagclass, bodycontent, info, this, 1.6 +2 -1 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties Index: messages.properties === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- messages.properties 6 May 2002 04:35:24 - 1.5 +++ messages.properties 16 May 2002 20:59:21 - 1.6 @@ -1,4 +1,4 @@ -# $Id: messages.properties,v 1.5 2002/05/06 04:35:24 glenn Exp $ +# $Id: messages.properties,v 1.6 2002/05/16 20:59:21 kinman Exp $ # # Default localized string information # Localized this the Default Locale as is en_US @@ -127,6 +127,7 @@ jsp.warning.unknown.element.in.attribute=Warning: Unknown element {0} in attribute jsp.error.more.than.one.taglib=More than one taglib in the TLD: {0} jsp.warning.teiclass.is.null=Could not load TagExtraInfo class {0}: {1} +jsp.warning.teiclass.is.nonnull=variable susbelement defined in tld when TagExtraInfo class {0} is non-null jsp.error.parse.error.in.TLD=Parse Error in the tag library descriptor: {0} jsp.error.unable.to.open.TLD=Unable to open the tag library descriptor: {0} jsp.buffer.size.zero=Buffer size = 0 -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c
costin 02/05/16 14:00:05 Modified:jk/native2/common jk_worker_status.c Log: Make worker_status work for both shm-based and single process servers. If the server is single process there's no need for shm, we can read the data from the process. If the server is multi-process we do need shm. Revision ChangesPath 1.22 +128 -58 jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c Index: jk_worker_status.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- jk_worker_status.c15 May 2002 19:42:56 - 1.21 +++ jk_worker_status.c16 May 2002 21:00:04 - 1.22 @@ -75,6 +75,120 @@ #include jk_registry.h #include jk_endpoint.h +static void jk2_worker_status_displayStat(jk_env_t *env, jk_ws_service_t *s, + jk_stat_t *stat, + int *totalReqP, int *totalErrP, + unsigned long *totalTimeP, unsigned long *maxTimeP ) +{ +int totalReq=*totalReqP; +int totalErr=*totalErrP; +unsigned long totalTime=*totalTimeP; +unsigned long maxTime=*maxTimeP; + +s-jkprintf(env, s, trtd%d/tdtd%d/tdtd%d/td\n, +stat-workerId, stat-reqCnt, stat-errCnt ); +s-jkprintf(env, s, td%s/td\n, stat-active ); + +totalReq+=stat-reqCnt; +totalErr+=stat-errCnt; +#ifdef HAS_APR +{ +char ctimeBuf[APR_CTIME_LEN]; +apr_ctime( ctimeBuf, stat-connectedTime ); +s-jkprintf(env, s, td%s/td\n, ctimeBuf ); + +s-jkprintf(env, s, td%ld/td\n, stat-totalTime ); +s-jkprintf(env, s, td%ld/td\n, stat-maxTime ); + +if( stat-reqCnt + stat-errCnt 0 ) +s-jkprintf(env, s, td%ld/td\n, +(stat-totalTime / ( stat-reqCnt + stat-errCnt )) ); +else +s-jkprintf(env, s, td-/td\n); + +s-jkprintf(env, s, td%lu/td\n, stat-startTime ); +s-jkprintf(env, s, td%ld/td\n, +stat-jkStartTime - stat-startTime ); +s-jkprintf(env, s, td%ld/td\n, +stat-endTime - stat-startTime ); + +totalTime += stat-totalTime; +if( maxTime stat-maxTime ) +maxTime=stat-maxTime; +} +#endif +s-jkprintf(env, s, /tr\n); + +*maxTimeP=maxTime; +*totalTimeP=totalTime; +*totalReqP=totalReq; +*totalErrP=totalErr; +} + +static void jk2_worker_status_displayAggregate(jk_env_t *env, jk_ws_service_t *s, + int totalReq, int totalErr, + unsigned long totalTime, unsigned long maxTime ) +{ +s-jkprintf(env, s, Totals:\n); + +s-jkprintf(env, s, table bordertrthReq/ththErr/ththMax/ththAvg/th/tr); + +s-jkprintf(env, s, trtd%d/td\n, totalReq ); +s-jkprintf(env, s, td%d/td\n, totalErr ); + +s-jkprintf(env, s, td%ld/td\n, maxTime ); + +if( totalErr + totalReq 0 ) { +unsigned long avg=totalTime / ( totalReq + totalErr ); +s-jkprintf(env, s, td%ld/td\n, avg ); +} else { +s-jkprintf(env, s, td-/td\n ); +} + +s-jkprintf(env, s, /tr/table\n); +} + +static void jk2_worker_status_displayEndpointInfo(jk_env_t *env, jk_ws_service_t *s, + jk_workerEnv_t *wenv) +{ +int i; +int totalReq=0; +int totalErr=0; +unsigned long totalTime=0; +unsigned long maxTime=0; + +s-jkprintf(env, s, h2Endpoint info ( no shm )/h2\n); + +s-jkprintf(env, s, table border\n); + +s-jkprintf(env, s, trthWorker/ththReq/ththErr/th); +s-jkprintf(env, s,thLastReq/th\n ); + +#ifdef HAS_APR +s-jkprintf(env, s, thConnectionTime/ththTotalTime/ththMaxTime/ththAvgTime/th ); +s-jkprintf(env, s, thReqStart/thth+jk/thth+end/th ); +#endif +for( i=0; i env-_objects-size( env, env-_objects ); i++ ) { +char *name=env-_objects-nameAt( env, env-_objects, i ); +jk_bean_t *mbean=env-_objects-valueAt( env, env-_objects, i ); +jk_endpoint_t *ep; +int j; + +if( mbean==NULL ) +continue; + +if( strncmp( endpoint, mbean-type, 8 ) != 0 ) +continue; + +ep=mbean-object; +jk2_worker_status_displayStat( env, s, ep-stats, + totalReq, totalErr, totalTime, maxTime); +} +s-jkprintf(env, s, /table\n); + +jk2_worker_status_displayAggregate( env, s, +
DO NOT REPLY [Bug 5793] - variable element in tld with TagExtraInfo class
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=5793. 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=5793 variable element in tld with TagExtraInfo class [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2002-05-16 21:00 --- Fixed, in all branches. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_shm.c
costin 02/05/16 14:02:44 Modified:jk/native2/common jk_shm.c Log: Refactoring of jk_shm, using apr_mmap instead of apr_shm. Also added code for apache1.3 ( or if apr is not compiled ) - it's cutpaste from jserv, it work wherever jserv worked. While apr_shm may work on more platforms, I think it's better to use mmap since JDK1.4 will have this built-in and most platforms do have it. If mmap is not available - we just loose the ability to report statistics, and the eventual shm channel ( but jk will still work ). Revision ChangesPath 1.16 +261 -153 jakarta-tomcat-connectors/jk/native2/common/jk_shm.c Index: jk_shm.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_shm.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- jk_shm.c 15 May 2002 19:45:45 - 1.15 +++ jk_shm.c 16 May 2002 21:02:44 - 1.16 @@ -71,30 +71,24 @@ #include jk_pool.h #include jk_shm.h -#ifdef HAS_APR +/* global.h will include apr.h. If APR and mmap is compiled in, we'll use + it. If APR is not availalbe, we use mmap directly - the code worked fine + for jserv. +*/ +#if APR_HAS_MMAP + +#include apr_mmap.h +#include apr_file_io.h +#include apr_file_info.h +static apr_pool_t *globalShmPool; -#include apr.h -#include apr_strings.h -#include apr_general.h -#include apr_portable.h -#include apr_lib.h +#elif defined(HAVE_MMAP) !defined(WIN32) -#define APR_WANT_STRFUNC -#include apr_want.h +#include sys/mman.h +#include fcntl.h -#if APR_HAVE_SYS_TYPES_H -#include sys/types.h #endif -#if APR_HAS_SHARED_MEMORY - -#include apr_shm.h -#include apr_atomic.h - -/* Inter-process synchronization - to create the slots */ -#include apr_proc_mutex.h - -static apr_pool_t *globalShmPool; #define SHM_SET_ATTRIBUTE 0 #define SHM_WRITE_SLOT 2 @@ -102,32 +96,265 @@ #define SHM_DETACH 4 #define SHM_RESET 5 #define SHM_DUMP 6 -#define SHM_DESTROY 7 +#ifdef APR_HAS_MMAP + static int jk2_shm_destroy(jk_env_t *env, jk_shm_t *shm) { -apr_shm_t *aprShm=(apr_shm_t *)shm-privateData; +apr_mmap_t *aprShm=(apr_mmap_t *)shm-privateData; -return apr_shm_destroy(aprShm); +if( aprShm==NULL ) +return JK_OK; + +return apr_mmap_delete(aprShm); } -static int JK_METHOD jk2_shm_detach(jk_env_t *env, jk_shm_t *shm) +static int jk2_shm_create(jk_env_t *env, jk_shm_t *shm) { -apr_shm_t *aprShm=(apr_shm_t *)shm-privateData; +int rc; +apr_file_t *file; +apr_finfo_t finfo; +apr_size_t size; +apr_mmap_t *aprMmap; + +/* We don't want to have to recreate the scoreboard after + * restarts, so we'll create a global pool and never clean it. + */ +if( globalShmPool==NULL ) { +/* Make sure apr is initialized */ +apr_initialize(); +rc = apr_pool_create(globalShmPool, NULL); +if (rc != APR_SUCCESS || globalShmPool==NULL ) { +env-l-jkLog(env, env-l, JK_LOG_ERROR, + Unable to create global pool for jk_shm\n); +return rc; +} +} + +/* First make sure the file exists and is big enough + */ +rc=apr_file_open( file, shm-fname, + APR_READ | APR_WRITE | APR_CREATE | APR_BINARY, + APR_OS_DEFAULT, globalShmPool); +if (rc!=JK_OK) { +char error[256]; +apr_strerror( rc, error, 256 ); + +env-l-jkLog(env, env-l, JK_LOG_ERROR, + shm.create(): error opening file %s %d %s\n, + shm-fname, rc, error ); +shm-privateData=NULL; +return rc; +} + +rc=apr_file_info_get(finfo, APR_FINFO_SIZE, file); + +if( shm-mbean-debug 0 ) +env-l-jkLog(env, env-l, JK_LOG_INFO, + shm.create(): file open %s %d %d\n, shm-fname, shm-size, finfo.size ); + +if( finfo.size shm-size ) { +char bytes[1024]; +int toWrite=shm-size-finfo.size; +apr_off_t off=0; + +memset( bytes, 0, 1024 ); +apr_file_seek( file, APR_END, off); -return apr_shm_detach(aprShm); +while( toWrite 0 ) { +apr_size_t written; +rc=apr_file_write_full(file, bytes, 1024, written); +if( rc!=APR_SUCCESS ) { +env-l-jkLog(env, env-l, JK_LOG_ERROR, + shm.create(): Can't write %s %d %s\n, + shm-fname, errno, strerror( errno )); +return JK_ERR; +} +toWrite-=written; +} + +
cvs commit: jakarta-tomcat-connectors/webapp/docs/images tomcat.ico
jfclere 02/05/16 14:07:50 Modified:webapp/docs style.xsl Added: webapp/docs/images tomcat.ico Log: Add tomcat icon. Revision ChangesPath 1.7 +1 -0 jakarta-tomcat-connectors/webapp/docs/style.xsl Index: style.xsl === RCS file: /home/cvs/jakarta-tomcat-connectors/webapp/docs/style.xsl,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- style.xsl 13 May 2002 01:33:58 - 1.6 +++ style.xsl 16 May 2002 21:07:50 - 1.7 @@ -42,6 +42,7 @@ meta name=author content=@email/ /xsl:for-each link rel=stylesheet type=text/css href=style.css/ +link rel=shortcut icon href=images/tomcat.ico/ /head !-- 1.1 jakarta-tomcat-connectors/webapp/docs/images/tomcat.ico Binary file -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java
remm02/05/16 14:08:26 Modified:catalina/src/share/org/apache/catalina/startup ContextConfig.java Log: - When running in embedded mode, the service was always null, causing a NPE. In that case, the CertificatesValve will always be added. Revision ChangesPath 1.65 +14 -9 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java Index: ContextConfig.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v retrieving revision 1.64 retrieving revision 1.65 diff -u -r1.64 -r1.65 --- ContextConfig.java12 May 2002 04:06:19 - 1.64 +++ ContextConfig.java16 May 2002 21:08:26 - 1.65 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v 1.64 2002/05/12 04:06:19 glenn Exp $ - * $Revision: 1.64 $ - * $Date: 2002/05/12 04:06:19 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v 1.65 2002/05/16 21:08:26 remm Exp $ + * $Revision: 1.65 $ + * $Date: 2002/05/16 21:08:26 $ * * * @@ -133,7 +133,7 @@ * of that Context, and the associated defined servlets. * * @author Craig R. McClanahan - * @version $Revision: 1.64 $ $Date: 2002/05/12 04:06:19 $ + * @version $Revision: 1.65 $ $Date: 2002/05/16 21:08:26 $ */ public final class ContextConfig @@ -412,11 +412,16 @@ } if (container instanceof Engine) { Service service = ((Engine)container).getService(); -Connector [] connectors = service.findConnectors(); -for (int i = 0; i connectors.length; i++) { -secure = connectors[i].getSecure(); -if (secure) { -break; +// The service can be null when Tomcat is run in embedded mode +if (service == null) { +secure = true; +} else { +Connector [] connectors = service.findConnectors(); +for (int i = 0; i connectors.length; i++) { +secure = connectors[i].getSecure(); +if (secure) { +break; +} } } } -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Switching javac for jasper 2
com.sun.tools.javac.Main doesn't seem to be in JDK1.2.x, and that's the target platform, isn't it ? I think the best solution for javac is to just bundle ant.jar and use it programmatically ( i.e. new Javac(), etc ). The introspection and hacks required to support multiple compilers are just too ugly - and they already have good solutions in ant. We already have enough complexity to support jikes. Costin On Thu, 16 May 2002, Kin-Man Chung wrote: Tomcat has been using sun.tools.javac.Main as the default java compiler for compiling the java files generated by Jasper. This compiler is essentially a JDK1.2 compiler, current deprecated and unsupported. The warning message Note: sun.tools.javac.Main has been deprecated is probably familiar to a lot of people. The compiler to use is com.sun.tools.javac.Main. The only thing that prevented us from switching over to this one is the fact that it does not allow a PrintWriter to be specified for error messages that it may produce, which essentially force tomcat to synchronize all compilation processes, a big performance hit. I believe that J2sdk1.4.1, currently targetted for FCS in fall 2002, will provide a javac.Main which allows us to specify a PrintWriter, essentially removing the need for synchronizing the compilation. We definitely will use that when it becomes available. However, I recently runs into problem with sun.tools.javac.Main which surfaces when a jsp page gets large. Sometimes it produces bogus errors, and somteitmes it even produces bad class files that cannot be loaded by VM. I am contemplating switching over to using com.sun.tools.javac.Main now, for 4.1 (jasper2). If there are objections, please let me know. BTW, anyone know the best way to capture javac error messages written to standard err stream? I want to avoid calling Runtime.getRuntime().exec if there is a way. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory DbcpDataSourceFactory.java
glenn 02/05/16 14:30:22 Modified:catalina/src/share/org/apache/naming/factory DbcpDataSourceFactory.java Log: Add support for the new DBCP Features. Three new DBCP parameters were added: removeAbandoned - True or false. If true abandoned db connections are removed after the removeAbandonedTimout is exceeded if the dbcp is nearing exhaustion. removeAbandonedTimeout - Time in seconds since a connection was last used before it is considered abandoned. logAbandoned - True or false. If true Exception stack traces are created so that the source of an abandoned db connection can be logged. Revision ChangesPath 1.6 +59 -7 jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/DbcpDataSourceFactory.java Index: DbcpDataSourceFactory.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/DbcpDataSourceFactory.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- DbcpDataSourceFactory.java10 May 2002 03:08:35 - 1.5 +++ DbcpDataSourceFactory.java16 May 2002 21:30:22 - 1.6 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/DbcpDataSourceFactory.java,v 1.5 2002/05/10 03:08:35 remm Exp $ - * $Revision: 1.5 $ - * $Date: 2002/05/10 03:08:35 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/DbcpDataSourceFactory.java,v 1.6 2002/05/16 21:30:22 glenn Exp $ + * $Revision: 1.6 $ + * $Date: 2002/05/16 21:30:22 $ * * * @@ -74,10 +74,11 @@ import javax.naming.Reference; import javax.naming.RefAddr; import javax.naming.spi.ObjectFactory; +import org.apache.commons.dbcp.AbandonedConfig; +import org.apache.commons.dbcp.AbandonedObjectPool; import org.apache.commons.dbcp.DriverManagerConnectionFactory; import org.apache.commons.dbcp.PoolableConnectionFactory; import org.apache.commons.dbcp.PoolingDataSource; -import org.apache.commons.pool.impl.GenericObjectPool; import org.apache.naming.ResourceRef; @@ -111,10 +112,20 @@ * connections from this pool. If specified, this query * strongMUST/strong be an SQL SELECT that returns at least one row. * /li + * listrongremoveAbandoned/strong - Remove abandoned connections which were + * never closed by the code which opened them. A check for abandoned connections + * is performed when the pool is nearly exhausted. Any connections who's last + * use is older than the removeAbandonedTimeout are closed and recycled./li + * listrongremoveAbandonedTimeout/strong - Timeout in seconds. When removal + * of abandoned connections is performed only connections who's last use is + * older than the removeAbandonedTimout are removed and recycled./li + * listronglogAbandoned/strong - Log stack traces for any dbcp connections + * which were removed after being abandoned without being closed./li * /ul * * @author Craig R. McClanahan - * @version $Revision: 1.5 $ $Date: 2002/05/10 03:08:35 $ + * @author Glenn L. Nielsen + * @version $Revision: 1.6 $ $Date: 2002/05/16 21:30:22 $ */ public class DbcpDataSourceFactory @@ -194,6 +205,47 @@ if (currentRefAddr != null) validationQuery = currentRefAddr.getContent().toString(); +// Create a new abandoned config +AbandonedConfig config = null; +currentRefAddr = ref.get(removeAbandoned); +try { +if (currentRefAddr != null) { +config = new AbandonedConfig(); +config.setRemoveAbandoned +(Boolean.valueOf +(currentRefAddr.getContent().toString()).booleanValue()); +} +} catch (Throwable t) { +log(Error setting removeAbandoned, t); +} + +currentRefAddr = ref.get(removeAbandonedTimeout); +try { +if (currentRefAddr != null) { +if (config == null) { +config = new AbandonedConfig(); +} +config.setRemoveAbandonedTimeout +(Integer.parseInt(currentRefAddr.getContent().toString())); +} +} catch (Throwable t) { +log(Error setting removeAbandonedTimout, t); +} + +currentRefAddr = ref.get(logAbandoned); +try { +if (currentRefAddr != null) { +if (config == null) { +config = new AbandonedConfig(); +} +config.setLogAbandoned +(Boolean.valueOf +
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core StandardHost.java
glenn 02/05/16 14:40:46 Modified:catalina/src/share/org/apache/catalina/core StandardHost.java Log: Modified MAPPING error uri arg so it provides the source URI Revision ChangesPath 1.28 +8 -7 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardHost.java Index: StandardHost.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardHost.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- StandardHost.java 2 May 2002 22:14:45 - 1.27 +++ StandardHost.java 16 May 2002 21:40:46 - 1.28 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardHost.java,v 1.27 2002/05/02 22:14:45 craigmcc Exp $ - * $Revision: 1.27 $ - * $Date: 2002/05/02 22:14:45 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardHost.java,v 1.28 2002/05/16 21:40:46 glenn Exp $ + * $Revision: 1.28 $ + * $Date: 2002/05/16 21:40:46 $ * * * @@ -95,7 +95,7 @@ * * @author Craig R. McClanahan * @author Remy Maucherat - * @version $Revision: 1.27 $ $Date: 2002/05/02 22:14:45 $ + * @version $Revision: 1.28 $ $Date: 2002/05/16 21:40:46 $ */ public class StandardHost @@ -621,14 +621,15 @@ if (debug 1) log( Trying the longest context path prefix); Context context = null; +String mapuri = uri; while (true) { -context = (Context) findChild(uri); +context = (Context) findChild(mapuri); if (context != null) break; -int slash = uri.lastIndexOf('/'); +int slash = mapuri.lastIndexOf('/'); if (slash 0) break; -uri = uri.substring(0, slash); +mapuri = mapuri.substring(0, slash); } // If no Context matches, select the default Context -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources SaveDataSourceAction.java SetUpDataSourceAction.java
manveen 02/05/16 14:47:30 Modified:webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources SaveDataSourceAction.java SetUpDataSourceAction.java Log: Replaced username attribute with user. Revision ChangesPath 1.5 +5 -5 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveDataSourceAction.java Index: SaveDataSourceAction.java === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveDataSourceAction.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- SaveDataSourceAction.java 9 May 2002 21:32:43 - 1.4 +++ SaveDataSourceAction.java 16 May 2002 21:47:30 - 1.5 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveDataSourceAction.java,v 1.4 2002/05/09 21:32:43 manveen Exp $ - * $Revision: 1.4 $ - * $Date: 2002/05/09 21:32:43 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveDataSourceAction.java,v 1.5 2002/05/16 21:47:30 manveen Exp $ + * $Revision: 1.5 $ + * $Date: 2002/05/16 21:47:30 $ * * * @@ -96,7 +96,7 @@ * updated data source entry./p * * @author Manveen Kaur - * @version $Revision: 1.4 $ $Date: 2002/05/09 21:32:43 $ + * @version $Revision: 1.5 $ $Date: 2002/05/16 21:47:30 $ * @since 4.1 */ @@ -217,7 +217,7 @@ mserver.setAttribute (oname, new Attribute(attribute, dataSourceForm.getDriverClass())); -attribute = username; +attribute = user; mserver.setAttribute (oname, new Attribute(attribute, dataSourceForm.getUsername())); 1.6 +5 -5 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpDataSourceAction.java Index: SetUpDataSourceAction.java === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpDataSourceAction.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- SetUpDataSourceAction.java9 May 2002 21:27:27 - 1.5 +++ SetUpDataSourceAction.java16 May 2002 21:47:30 - 1.6 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpDataSourceAction.java,v 1.5 2002/05/09 21:27:27 manveen Exp $ - * $Revision: 1.5 $ - * $Date: 2002/05/09 21:27:27 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpDataSourceAction.java,v 1.6 2002/05/16 21:47:30 manveen Exp $ + * $Revision: 1.6 $ + * $Date: 2002/05/16 21:47:30 $ * * * @@ -96,7 +96,7 @@ * being added, or a non-null value for an existing DataSource./p * * @author Manveen Kaur - * @version $Revision: 1.5 $ $Date: 2002/05/09 21:27:27 $ + * @version $Revision: 1.6 $ $Date: 2002/05/16 21:47:30 $ * @since 4.1 */ @@ -181,7 +181,7 @@ attribute = driverClassName; dataSourceForm.setDriverClass ((String) mserver.getAttribute(oname, attribute)); -attribute = username; +attribute = user; dataSourceForm.setUsername ((String) mserver.getAttribute(oname, attribute)); attribute = password; -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 9165] - null pointer ex. at startup crashes tomcat
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=9165. 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=9165 null pointer ex. at startup crashes tomcat --- Additional Comments From [EMAIL PROTECTED] 2002-05-16 22:32 --- Can you supply your server.xml file? It seems there is an error reading that file, so having it would help. Bojan -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 9184] New: - typo in bin/catalina.sh
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=9184. 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=9184 typo in bin/catalina.sh Summary: typo in bin/catalina.sh Product: Tomcat 4 Version: 4.0.3 Final Platform: PC OS/Version: Linux Status: NEW Severity: Normal Priority: Other Component: Catalina AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] there's a line that says: if [ -z $JDPA_OPTS ]; then it should read: if [ -z $JPDA_OPTS ]; then JDPA - JPDA -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/native2 build.xml
costin 02/05/16 15:39:35 Modified:jk/native2 build.xml Log: Add the HAVE_MMAP setting for apache 1.3. Use HAS_APR consistently ( I don't know why we don't use HAVE_APR ) Revision ChangesPath 1.26 +2 -2 jakarta-tomcat-connectors/jk/native2/build.xml Index: build.xml === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/build.xml,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- build.xml 7 May 2002 19:41:40 - 1.25 +++ build.xml 16 May 2002 22:39:34 - 1.26 @@ -59,7 +59,7 @@ echo message=build.properties.${os.arch}.${os.name} / taskdef resource=META-INF/ant.tasks classpathref=jkant / -available property=HAVE_APR file=${apr.include}/apr.h / +available property=HAS_APR file=${apr.include}/apr.h / available property=apache13.detect file=${apache13.home}/bin/htpasswd / available property=apache2.detect @@ -314,6 +314,7 @@ def name=USE_SPRINTF if=netware info=Use the sprintf function to build strings / + def name=HAVE_MMAP unless=win32 / def name=WIN32 if=win32 / def name=_WINDOWS if=win32 / def name=_MBCS if=win32 / @@ -366,7 +367,6 @@ include name=jni/*.c / exclude name=jk_apr.c unless=netware / -include name=common/apr/*.c unless=HAVE_APR / /src includes include name=${java.home}/../include / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 9184] - typo in bin/catalina.sh
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=9184. 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=9184 typo in bin/catalina.sh [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2002-05-16 23:22 --- This has already been fixed in Tomcat 4.0.4 b2+. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_registry.c jk_registry.h
costin 02/05/16 16:45:41 Modified:jk/native2/common jk_registry.c jk_registry.h Log: One change to make building with make easier. No more 'excludes', all C files will be compiled and loaded. We use an ifdef inside the file to genearte an empty factory method ( that just sets disabled ). Revision ChangesPath 1.24 +4 -23 jakarta-tomcat-connectors/jk/native2/common/jk_registry.c Index: jk_registry.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_registry.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- jk_registry.c 16 May 2002 20:58:44 - 1.23 +++ jk_registry.c 16 May 2002 23:45:41 - 1.24 @@ -67,7 +67,7 @@ /*** * Description: Worker list* - * Version: $Revision: 1.23 $ * + * Version: $Revision: 1.24 $ * ***/ /** Static declarations for all 'hardcoded' modules. This is a hack, @@ -117,44 +117,25 @@ env-registerFactory( env, uri, jk2_uriEnv_factory ); env-registerFactory( env, config, jk2_config_factory ); - env-registerFactory( env, worker.ajp13, jk2_worker_ajp14_factory ); - env-registerFactory( env, ajp13, jk2_worker_ajp14_factory ); + env-registerFactory( env, ajp13, jk2_worker_ajp13_factory ); env-registerFactory( env, lb,jk2_worker_lb_factory ); - env-registerFactory( env, worker.lb,jk2_worker_lb_factory ); env-registerFactory( env, status, jk2_worker_status_factory ); - env-registerFactory( env, worker.status, jk2_worker_status_factory ); env-registerFactory( env, run, jk2_worker_run_factory ); - env-registerFactory( env, worker.run, jk2_worker_run_factory ); -#ifdef HAVE_UNIXSOCKETS env-registerFactory( env, channel.un, jk2_channel_un_factory ); -#endif -#ifdef HAS_APR - env-registerFactory( env, channel.apr, -jk2_channel_apr_socket_factory ); -#endif + env-registerFactory( env, channel.apr,jk2_channel_apr_socket_factory ); env-registerFactory( env, shm, jk2_shm_factory ); env-registerFactory( env, channel.socket, jk2_channel_socket_factory ); - env-registerFactory( env, handler.response, -jk2_handler_response_factory ); + env-registerFactory( env, handler.response, jk2_handler_response_factory ); env-registerFactory( env, handler.logon, jk2_handler_logon_factory ); - /* Optional objects */ - -#ifdef HAVE_JNI env-registerFactory( env, channel.jni, jk2_channel_jni_factory ); env-registerFactory( env, worker.jni, jk2_worker_jni_factory ); env-registerFactory( env, vm, jk2_vm_factory ); -#endif -#ifdef AJP12 - env-registerFactory( env, ajp12, jk2_worker_ajp12_factory ); - env-registerFactory( env, worker.ajp12, jk2_worker_ajp12_factory ); -#endif - } 1.15 +2 -4 jakarta-tomcat-connectors/jk/native2/common/jk_registry.h Index: jk_registry.h === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_registry.h,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- jk_registry.h 16 May 2002 20:58:44 - 1.14 +++ jk_registry.h 16 May 2002 23:45:41 - 1.15 @@ -62,7 +62,7 @@ /*** * Description: Worker list* - * Version: $Revision: 1.14 $ * + * Version: $Revision: 1.15 $ * ***/ /** Static declarations for all 'hardcoded' modules. This is a hack, @@ -84,7 +84,7 @@ * */ -int JK_METHOD jk2_worker_ajp14_factory(jk_env_t *env, jk_pool_t *pool, +int JK_METHOD jk2_worker_ajp13_factory(jk_env_t *env, jk_pool_t *pool, jk_bean_t *result, const char *type, const char *name); @@ -129,11 +129,9 @@ /* Factories for 'new' types. We use the new factory interface, * workers will be updated later */ -#ifdef HAS_APR int JK_METHOD jk2_channel_apr_socket_factory(jk_env_t *env, jk_pool_t *pool, jk_bean_t *result, const char *type, const char *name); -#endif int JK_METHOD
cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_ajp13.c
costin 02/05/16 16:46:01 Modified:jk/native2/common jk_worker_ajp13.c Log: Big cosmetic change: use ajp13 consistently. Revision ChangesPath 1.23 +120 -123 jakarta-tomcat-connectors/jk/native2/common/jk_worker_ajp13.c Index: jk_worker_ajp13.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_ajp13.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- jk_worker_ajp13.c 16 May 2002 21:03:45 - 1.22 +++ jk_worker_ajp13.c 16 May 2002 23:46:01 - 1.23 @@ -56,7 +56,7 @@ * = */ /** - * Description: AJP14 next generation Bi-directional protocol. + * Description: AJP13 next generation Bi-directional protocol. * Backward compatible with Ajp13 * Author: Henri Gomez [EMAIL PROTECTED] * Author: Costin [EMAIL PROTECTED] @@ -75,26 +75,23 @@ #include jk_registry.h #define AJP_DEF_RETRY_ATTEMPTS(2) -#define AJP14_PROTO 14 #define AJP13_PROTO 13 #define AJP13_DEF_HOST (localhost) #define AJP13_DEF_PORT (8009) -#define AJP14_DEF_HOST (localhost) -#define AJP14_DEF_PORT (8011) /* Impl */ -static char *jk2_worker_ajp14_getAttributeInfo[]={ lb_factor, lb_value, +static char *jk2_worker_ajp13_getAttributeInfo[]={ lb_factor, lb_value, route, errorState, graceful, epCount, errorTime, NULL }; -static char *jk2_worker_ajp14_multiValueInfo[]={group, NULL }; +static char *jk2_worker_ajp13_multiValueInfo[]={group, NULL }; -static char *jk2_worker_ajp14_setAttributeInfo[]={debug, channel, route, +static char *jk2_worker_ajp13_setAttributeInfo[]={debug, channel, route, lb_factor, level, NULL }; -static void * JK_METHOD jk2_worker_ajp14_getAttribute(jk_env_t *env, jk_bean_t *bean, char *name ) { +static void * JK_METHOD jk2_worker_ajp13_getAttribute(jk_env_t *env, jk_bean_t *bean, char *name ) { jk_worker_t *worker=(jk_worker_t *)bean-object; if( strcmp( name, channelName )==0 ) { @@ -139,29 +136,29 @@ /* - * Initialize the worker. + * Initialize the worker */ static int JK_METHOD -jk2_worker_ajp14_setAttribute(jk_env_t *env, jk_bean_t *mbean, +jk2_worker_ajp13_setAttribute(jk_env_t *env, jk_bean_t *mbean, char *name, void *valueP ) { -jk_worker_t *ajp14=(jk_worker_t *)mbean-object; +jk_worker_t *ajp13=(jk_worker_t *)mbean-object; char *value=(char *)valueP; if( strcmp( name, secretkey )==0 ) { -ajp14-secret = value; +ajp13-secret = value; } else if( strcmp( name, tomcatId )==0 ) { -ajp14-route=value; +ajp13-route=value; } else if( strcmp( name, route )==0 ) { -ajp14-route=value; +ajp13-route=value; } else if( strcmp( name, group )==0 ) { -ajp14-groups-add( env, ajp14-groups, value, ajp14 ); +ajp13-groups-add( env, ajp13-groups, value, ajp13 ); } else if( strcmp( name, lb_factor )==0 ) { -ajp14-lb_factor=atoi( value ); +ajp13-lb_factor=atoi( value ); } else if( strcmp( name, level )==0 ) { -ajp14-level=atoi( value ); +ajp13-level=atoi( value ); } else if( strcmp( name, channel )==0 ) { -ajp14-channelName=value; +ajp13-channelName=value; } else { return JK_ERR; } @@ -223,9 +220,9 @@ /* ae-pool-close( env, ae-pool ); */ } -/** Connect a channel, implementing the logging protocol if ajp14 +/** Connect a channel, implementing the logging protocol if ajp13 */ -static int jk2_worker_ajp14_connect(jk_env_t *env, jk_endpoint_t *ae) { +static int jk2_worker_ajp13_connect(jk_env_t *env, jk_endpoint_t *ae) { jk_channel_t *channel=ae-worker-channel; jk_msg_t *msg; @@ -233,19 +230,19 @@ if( channel==NULL ) { env-l-jkLog(env, env-l, JK_LOG_ERROR, - ajp14.connect() no channel %s\n, ae-worker-mbean-name ); + ajp13.connect() no channel %s\n, ae-worker-mbean-name ); return JK_ERR; } if( ae-worker-mbean-debug 0 ) env-l-jkLog(env, env-l, JK_LOG_INFO, - ajp14.connect() %s %s\n, ae-worker-channelName, channel-mbean-name ); + ajp13.connect() %s %s\n, ae-worker-channelName, channel-mbean-name ); err=channel-open( env, channel, ae ); if( err != JK_OK ) {
cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_channel_apr_socket.c jk_channel_jni.c jk_env.c jk_pool_apr.c jk_shm.c jk_uriEnv.c jk_vm_default.c jk_workerEnv.c jk_worker_jni.c jk_worker_status.c
costin 02/05/16 16:48:28 Modified:jk/native2/common jk_channel_apr_socket.c jk_channel_jni.c jk_env.c jk_pool_apr.c jk_shm.c jk_uriEnv.c jk_vm_default.c jk_workerEnv.c jk_worker_jni.c jk_worker_status.c Log: All files will compile now, with some generating empty factories if the feature is not enabled. Use 'lb' instead of 'worker.lb' and 'ajp13' instead of 'worker.ajp13'. ( it's better to use a simpler name, and it remove another confusing use of 'worker' name ) Remove some of the workarounds and tricks - the code is now stable and well, it's better to fix the remaining bugs then to work around. Revision ChangesPath 1.19 +21 -4 jakarta-tomcat-connectors/jk/native2/common/jk_channel_apr_socket.c Index: jk_channel_apr_socket.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel_apr_socket.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- jk_channel_apr_socket.c 16 May 2002 21:03:44 - 1.18 +++ jk_channel_apr_socket.c 16 May 2002 23:48:27 - 1.19 @@ -62,10 +62,6 @@ * @author: Costin Manolache * @author: Jean-Frederic Clere [EMAIL PROTECTED] */ -#include apr_network_io.h -#include apr_errno.h -#include apr_general.h - #include jk_global.h #include jk_map.h @@ -77,6 +73,11 @@ #include jk_registry.h +#ifdef HAS_APR +#include apr_network_io.h +#include apr_errno.h +#include apr_general.h + #define DEFAULT_HOST 127.0.0.1 @@ -444,3 +445,19 @@ return JK_OK; } +#else /* HAS_APR */ + +int JK_METHOD jk2_channel_apr_socket_factory(jk_env_t *env, + jk_pool_t *pool, + jk_bean_t *result, + const char *type, const char *name) +{ + +result-disabled=1; +result-object= NULL; + +return JK_OK; +} + + +#endif 1.20 +18 -0 jakarta-tomcat-connectors/jk/native2/common/jk_channel_jni.c Index: jk_channel_jni.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel_jni.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- jk_channel_jni.c 16 May 2002 21:03:44 - 1.19 +++ jk_channel_jni.c 16 May 2002 23:48:27 - 1.20 @@ -62,6 +62,12 @@ * @author: Costin Manolache */ +#include jk_workerEnv.h +#include jk_env.h +#include jk_bean.h + +#ifdef HAVE_JNI + #include jk_map.h #include jk_env.h #include jk_channel.h @@ -540,3 +546,15 @@ return JK_OK; } + +#else + +int JK_METHOD jk2_channel_jni_factory(jk_env_t *env, jk_pool_t *pool, + jk_bean_t *result, + const char *type, const char *name) +{ +result-disabled=1; +return JK_OK; +} + +#endif 1.26 +9 -8 jakarta-tomcat-connectors/jk/native2/common/jk_env.c Index: jk_env.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_env.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- jk_env.c 16 May 2002 21:03:44 - 1.25 +++ jk_env.c 16 May 2002 23:48:27 - 1.26 @@ -164,9 +164,10 @@ /* Funny pointer arithmetic. I hope I got it right */ type=env-tmpPool-calloc( env, env-tmpPool, localName - objName + 2 ); strncpy( type, objName, localName - objName ); +localName++; } -return env-createBean2( env, pool, type, objName ); +return env-createBean2( env, pool, type, localName ); } /** Create a component using type and local part ( pre-cooked ). @@ -199,14 +200,14 @@ return NULL; } -if( localName!=NULL strncmp( localName, type, strlen( type )) == 0 ) { +/* if( localName!=NULL strncmp( localName, type, strlen( type )) == 0 ) { */ /* Common error, make it 'localName' */ -if( strcmp( type, localName ) == 0 ) { -localName=; -} else { -localName= localName + strlen(type) + 1; -} -} +/* if( strcmp( type, localName ) == 0 ) { */ +/* localName=; */ +/* } else { */ +/* localName= localName + strlen(type) + 1; */ +/* } */ +/* } */ if( env-debug 0 ) { if( env-l != NULL ) { 1.4 +3 -0 jakarta-tomcat-connectors/jk/native2/common/jk_pool_apr.c Index: jk_pool_apr.c
cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache13 Makefile.apxs.in Makefile.in
costin 02/05/16 16:50:12 Modified:jk/native2/server/apache13 Makefile.apxs.in Makefile.in Log: Apache1.3 doesn't use java, and we don't compile jkjni in this case. jkjni.so is used from Java, not from Apache - we'll build a single version of jkjni.so using APR. Curently the Makefile for Apache2 will create jkjni.so, but we should split it too. Revision ChangesPath 1.2 +1 -1 jakarta-tomcat-connectors/jk/native2/server/apache13/Makefile.apxs.in Index: Makefile.apxs.in === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache13/Makefile.apxs.in,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Makefile.apxs.in 7 May 2002 15:57:36 - 1.1 +++ Makefile.apxs.in 16 May 2002 23:50:12 - 1.2 @@ -8,7 +8,7 @@ JK=../../common/ JKINC=../../include/ -JK_INCL=-DUSE_APACHE_MD5 -I ${JK} -I ${JKINC} +JK_INCL=-DUSE_APACHE_MD5 -I ${JK} -I ${JKINC} -DHAVE_MMAP JAVA_INCL=-I ${JAVA_HOME}/include -I ${JAVA_HOME}/include/${OS} JAVA_LIB=-L ${JAVA_HOME}/jre/lib/${ARCH} -L ${JAVA_HOME}/lib/${ARCH}/native_threads 1.3 +3 -17 jakarta-tomcat-connectors/jk/native2/server/apache13/Makefile.in Index: Makefile.in === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache13/Makefile.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Makefile.in 14 May 2002 11:21:46 - 1.2 +++ Makefile.in 16 May 2002 23:50:12 - 1.3 @@ -3,15 +3,11 @@ APACHE_HOME=@APACHE_HOME@ OS=@OS@ -JAVA_HOME=@JAVA_HOME@ APACHE_INCL=@APACHE_INCL@ APR_INCL=@APR_INCL@ EXTRA_CFLAGS=@EXTRA_CFLAGS@ EXTRA_CPPFLAGS=@EXTRA_CPPFLAGS@ -JAVA_INCL=-I ${JAVA_HOME}/include -I ${JAVA_HOME}/include/${OS} -JAVA_LIB=-L ${JAVA_HOME}/jre/lib/${ARCH} -L ${JAVA_HOME}/lib/${ARCH}/native_threads - JK_DIR := ../.. BUILD_DIR = ${JK_DIR}/../build/jk2/apache13 @@ -20,10 +16,9 @@ # It doesn't hurt if we include all INCLUDES= -I${JK_DIR}/include \ ${APACHE_INCL} \ - ${APR_INCL} \ - ${JAVA_INCL} + ${APR_INCL} -JK_CFLAGS=-DCHUNK_SIZE=4096 -DUSE_APACHE_MD5 @HAS_APR@ -DHAVE_JNI @APR_INCL@ +JK_CFLAGS=-DCHUNK_SIZE=4096 -DUSE_APACHE_MD5 @HAS_APR@ @APR_INCL@ -DHAVE_MMAP JK_LDFLAGS=-L${APACHE_HOME}/lib -lcrypt @APR_LDFLAGS@ ## Based on rules.mk ## @@ -46,14 +41,11 @@ # Excludes are not yet implemented. COMMON_C_FILES := $(wildcard ${JK_DIR}/common/*.c ) -JNI_C_FILES := $(wildcard ${JK_DIR}/jni/*.c ) A_C_FILES := $(wildcard ${JK_DIR}/server/apache13/*.c ) H_FILES := $(wildcard ${JK_DIR}/include/*.h ) COMMON_LO_FILES := $(patsubst ${JK_DIR}/common/%, ${BUILD_DIR}/%, \ $(patsubst %c, %lo, ${COMMON_C_FILES} )) -JNI_LO_FILES := $(patsubst ${JK_DIR}/jni/%, ${BUILD_DIR}/%, \ - $(patsubst %c, %lo, ${JNI_C_FILES} )) A_LO_FILES := $(patsubst ${JK_DIR}/server/apache13/%, ${BUILD_DIR}/%, \ $(patsubst %c, %lo, ${A_C_FILES} )) @@ -71,19 +63,13 @@ ${BUILD_DIR}/%.lo: ${JK_DIR}/common/%.c ${SH_COMPILE} -c $ -o $@ -${BUILD_DIR}/%.lo: ${JK_DIR}/jni/%.c - ${SH_COMPILE} -c $ -o $@ - ${BUILD_DIR}/%.lo: ${JK_DIR}/server/apache13/%.c ${SH_COMPILE} -c $ -o $@ # -- Targets -all: prepare ${BUILD_DIR}/mod_jk2.so ${BUILD_DIR}/jkjni.so - -${BUILD_DIR}/jkjni.so: ${JNI_LO_FILES} - $(MOD_LINK) -o $@ $^ +all: prepare ${BUILD_DIR}/mod_jk2.so ${BUILD_DIR}/mod_jk2.so: ${COMMON_LO_FILES} ${A_LO_FILES} ${MOD_LINK} -o $@ $^ @APR_LIB_STATIC@ -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factoryDbcpDataSourceFactory.java
On 16 May 2002 [EMAIL PROTECTED] wrote: Date: 16 May 2002 21:30:22 - From: [EMAIL PROTECTED] Reply-To: Tomcat Developers List [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory DbcpDataSourceFactory.java glenn 02/05/16 14:30:22 Modified:catalina/src/share/org/apache/naming/factory DbcpDataSourceFactory.java Log: Add support for the new DBCP Features. Three new DBCP parameters were added: removeAbandoned - True or false. If true abandoned db connections are removed after the removeAbandonedTimout is exceeded if the dbcp is nearing exhaustion. removeAbandonedTimeout - Time in seconds since a connection was last used before it is considered abandoned. logAbandoned - True or false. If true Exception stack traces are created so that the source of an abandoned db connection can be logged. To avoid maintaining duplicate code for this kind of thing, what would you think about switching Tomcat to using org.apache.commons.dbcp.BasicDataSourceFactory instead, and made these changes over there? That way, they would be available to non-Tomcat users of DBCP as well. (Historically, I wrote DbcpDataSourceFactory first -- but it really belonged in DBCP so it got copied to create BasicDataSourceFactory.) Craig -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache2 Makefile.apxs.in Makefile.in jk_service_apache2.c mod_jk2.c
costin 02/05/16 17:31:55 Modified:jk/native2/server/apache13 Makefile.apxs.in jk/native2/server/apache2 Makefile.apxs.in Makefile.in jk_service_apache2.c mod_jk2.c Log: mod_jk2.so for apache will include all the jni code. libjkjni.so will include all common and jni code. The first is used by apache ( including inprocess worker ). The second is used only by java - for unix socket, shm, and other native operations. Revision ChangesPath 1.3 +1 -4 jakarta-tomcat-connectors/jk/native2/server/apache13/Makefile.apxs.in Index: Makefile.apxs.in === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache13/Makefile.apxs.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Makefile.apxs.in 16 May 2002 23:50:12 - 1.2 +++ Makefile.apxs.in 17 May 2002 00:31:54 - 1.3 @@ -2,15 +2,12 @@ APXS=@APXS@ OS=@OS@ -JAVA_HOME=@JAVA_HOME@ APXSLDFLAGS=@APXSLDFLAGS@ APXSCFLAGS=@APXSCFLAGS@ JK=../../common/ JKINC=../../include/ JK_INCL=-DUSE_APACHE_MD5 -I ${JK} -I ${JKINC} -DHAVE_MMAP -JAVA_INCL=-I ${JAVA_HOME}/include -I ${JAVA_HOME}/include/${OS} -JAVA_LIB=-L ${JAVA_HOME}/jre/lib/${ARCH} -L ${JAVA_HOME}/lib/${ARCH}/native_threads ## read the object (.c) from the list file. OEXT=.c @@ -19,7 +16,7 @@ all: mod_jk2.so mod_jk2.so: - $(APXS) -c -o $@ -Wc,${APXSCFLAGS} ${JK_INCL} ${JAVA_INCL} ${APXSLDFLAGS} mod_jk2.c ${APACHE_OBJECTS} + $(APXS) -c -o $@ -Wc,${APXSCFLAGS} ${JK_INCL} ${APXSLDFLAGS} mod_jk2.c ${APACHE_OBJECTS} clean: rm -f *.o *.so 1.3 +2 -0 jakarta-tomcat-connectors/jk/native2/server/apache2/Makefile.apxs.in Index: Makefile.apxs.in === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/Makefile.apxs.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Makefile.apxs.in 13 May 2002 10:25:33 - 1.2 +++ Makefile.apxs.in 17 May 2002 00:31:55 - 1.3 @@ -16,6 +16,8 @@ OEXT=.c include ../../common/list.mk APACHE2_OBJECTS=jk_logger_apache2.c jk_map_aprtable.c jk_service_apache2.c +## Must include the jni stuff + all: mod_jk2.la mod_jk2.la: 1.3 +2 -2 jakarta-tomcat-connectors/jk/native2/server/apache2/Makefile.in Index: Makefile.in === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/Makefile.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Makefile.in 14 May 2002 11:21:46 - 1.2 +++ Makefile.in 17 May 2002 00:31:55 - 1.3 @@ -89,10 +89,10 @@ all: prepare ${BUILD_DIR}/mod_jk2.so ${BUILD_DIR}/jkjni.so -${BUILD_DIR}/jkjni.so: ${JNI_LO_FILES} +${BUILD_DIR}/jkjni.so: ${JNI_LO_FILES} ${COMMON_LO_FILES} $(MOD_LINK) -o $@ $^ -${BUILD_DIR}/mod_jk2.so: ${COMMON_LO_FILES} ${A2_LO_FILES} +${BUILD_DIR}/mod_jk2.so: ${COMMON_LO_FILES} ${JNI_LO_FILES} ${A2_LO_FILES} ${MOD_LINK} -o $@ $^ ${COMMON_C_FILES} ${A2_C_FILES}: ${H_FILES} 1.22 +3 -2 jakarta-tomcat-connectors/jk/native2/server/apache2/jk_service_apache2.c Index: jk_service_apache2.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/jk_service_apache2.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- jk_service_apache2.c 16 May 2002 20:54:18 - 1.21 +++ jk_service_apache2.c 17 May 2002 00:31:55 - 1.22 @@ -59,7 +59,7 @@ * Description: Apache 2 plugin for Jakarta/Tomcat * Author: Gal Shachor [EMAIL PROTECTED] * Henri Gomez [EMAIL PROTECTED] - * Version: $Revision: 1.21 $ + * Version: $Revision: 1.22 $ */ #include apu_compat.h @@ -74,7 +74,8 @@ #include http_core.h #include http_protocol.h #include http_main.h -#include http_log.h +#include http_log.h +#include scoreboard.h #include util_script.h /* 1.24 +2 -1 jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c Index: mod_jk2.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- mod_jk2.c 16 May 2002 20:54:18 - 1.23 +++ mod_jk2.c 17 May 2002
cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache2 Makefile
costin 02/05/16 17:33:01 Removed: jk/native2/server/apache2 Makefile Log: Use autoconf, this will be generated. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/conf workers2.properties
costin 02/05/16 17:35:18 Modified:jk/conf workers2.properties Log: Update the worker.properties. We use a special property 'info' for comments, that allows jk_config.c to preserve them when saving. Any # comment will be lost. I'll start working on docs and the jmx wrapper, most of the code should be stable and working fine. Revision ChangesPath 1.12 +67 -101 jakarta-tomcat-connectors/jk/conf/workers2.properties Index: workers2.properties === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/conf/workers2.properties,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- workers2.properties 6 May 2002 22:48:56 - 1.11 +++ workers2.properties 17 May 2002 00:35:18 - 1.12 @@ -1,142 +1,108 @@ -# Comments will be lost when protocol-based config will be used -# ( at least in the first version ). In a future version we'll save -# the comments before every section and property and save ( maybe ) - -# Global options ( in addition to the pre-defined fs, ps, java_home -[config] -## TOMCAT_HOME, CATALINA_HOME, JAVA_HOME and LD_LIBRARY_PATH -# must be set for the jni worker to operate. -debugEnv=0 - - -# Logger options. For apache2 only level can be set ( it logs to apache's error.log ) [logger] level=DEBUG -# File property is not used on Apache2 or if a 'native' logger is available -# The Apache2 ( or native ) log file is used instead -# For apache1 the file must be specified if you want logging. -# file=logs/mod_jk.log -[shm] -file=${serverRoot}/logs/jk2.shm -size=100 +[config:] +file=${serverRoot}/conf/workers2.properties +debug=0 +debugEnv=0 -[uriMap] +[uriMap:] +info=Maps the requests. Options: debug debug=0 -[workerEnv] +[shm:] +info=Scoreboard. Required for reconfiguration and status with multiprocess servers +file=${serverRoot}/logs/jk2.shm +size=100 debug=0 +disabled=0 - Channels -# Each channel defines a communication mechanism to a tomcat instance. -# Each channel is associated with a ajp13:NAME, with the same local name +[workerEnv:] +info=Global server options +timing=1 +debug=0 +[lb:lb] +info=Default load balancer. +debug=0 -# Default channel -#[channel.socket:localhost:8009] -#lb_factor=1 -#tomcatId=localhost:8009 +[lb:lb_1] +info=A second load balancer. +debug=0 +[channel.socket:localhost:8009] +info=Ajp13 forwarding over socket +debug=0 +tomcatId=localhost:8009 -# Example additional socket channel. The location is in the name ( URL-style [channel.socket:localhost:8019] +info=A second tomcat instance. +debug=0 tomcatId=localhost:8019 lb_factor=1 -group=lb_1 group=lb +group=lb_1 +disabled=0 +[channel.un:/opt/33/work/jk2.socket] +info=A second channel connecting to localhost:8019 via unix socket +tomcatId=localhost:8019 +lb_factor=1 +debug=0 - -# Example unix socket. -# XXX We must use an explicit setting to use substitution - resolve this -[channel.apr:${TOMCAT_HOME}/work/jk2.socket] -tomcatId=localhost:8009 -lb_factor=0 - - -# -# The JNI channel is enabled and configured automatically -# if a VM is detected and tomcat started. [channel.jni:jni] +info=The jni channel, used if tomcat is started inprocess - Workers -# All non-ajp13 workers or workers with special configurations -# There is no configuration for ajp13 workers - you just configure -# channels - -# The status worker. -[worker.status] - +[status:] +info=Status worker, displays runtime informations -# Requirements: libjvm.so MUST BE INCLUDED in LD_LIBRARY_PATH for this -# to work reliably and on all platforms. Same for other java libs. -# java script is a good example, Sun needs it to start java and we need it to. -# JAVA_HOME and TOMCAT_HOME can be set as environment variables -[vm] -# That will work with both 3.x and 4.x. +[vm:] +info=Parameters used to load a JVM in the server process OPT=-Djava.class.path=${TOMCAT_HOME}/bin/tomcat-jni.jar OPT=-Dtomcat.home=${TOMCAT_HOME} OPT=-Dcatalina.home=${TOMCAT_HOME} OPT=-Xmx128M -#OPT=-Djava.compiler=NONE - +disabled=1 [worker.jni:jniCmd1] +info=Command to be executed by the VM. This one will start tomcat. +class=org.apache.jk.apr.TomcatStarter ARG=start +disabled=1 +[uri:/jkstatus/*] +info=Display status information and checks the config file for changes. +group=status: - Locations -# XXX Uris to be read from separate file, one per webapp. -# XXX Webapps to be declared automatically, using webapps/ content :-) - - -### Virtual host definitions ( in the vhost
DO NOT REPLY [Bug 8992] - IE6/XP: Limitation of POST Area within HTTP request?
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=8992. 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=8992 IE6/XP: Limitation of POST Area within HTTP request? --- Additional Comments From [EMAIL PROTECTED] 2002-05-17 00:38 --- Created an attachment (id=1884) Socket Exception caused using IE6 on WinXP with Tomcat -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 8992] - IE6/XP: Limitation of POST Area within HTTP request?
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=8992. 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=8992 IE6/XP: Limitation of POST Area within HTTP request? --- Additional Comments From [EMAIL PROTECTED] 2002-05-17 00:41 --- This error occurs whil connecting to Tomcat via localhost directly to port 8080 (i.e., http://localhost:8080/) To repeat issue: 1. Press Submit button on page 2. Wait for output in Tomcat window to display Created random class java.security.SecureRandom 3. Connection cannot be made to Tomcat server with IE6 after above message is displayed (IE6 displays The Page cannot be displayed...Cannot find server or DNS Error) even though Tomcat is still running. To cause exception within Tomcat 1. Stop and Start Tomcat 2. Press Submit button on page 3. Press Stop button on IE6 toolbar immediately after Created random class java.security.SecureRandom message and Exception will occur 4. Connection cannot be made to Tomcat server after above message is displayed -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: [PATCH] Re: [PROPOSAL] Modification of the code generated byJasper2
Denis, First let me mention a couple of improvements over the existing codes that was generated for flattening out the try/catch block. See if you agree with me. 1. I notice the following code pattern that is now generated. bitmask.set(1); addTagToVector(tags, 1, new Integer(_jspx_eval_eg_foo_0)); if (_jspx_eval_eg_foo_0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUD E) { out = pageContext.pushBody(); _jspx_th_eg_foo_0.setBodyContent((javax.servlet.jsp.tagext.BodyContent ) out); _jspx_th_eg_foo_0.doInitBody(); } and from finallies: if (bitmask.get(1)) { if (((Integer)tags.elementAt(1)).intValue() != javax.servlet.jsp.tagext.Ta g.EVAL_BODY_INCLUDE) out = pageContext.popBody(); } I notice that the code bitmask.set(1); is there just for popBody, so if we move it to inside the test that do pushBody, then we don't need to do the test in the finallies. See the codes below. addTagToVector(tags, 1, new Integer(_jspx_eval_eg_foo_0)); if (_jspx_eval_eg_foo_0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUD E) { bitmask.set(1); out = pageContext.pushBody(); _jspx_th_eg_foo_0.setBodyContent((javax.servlet.jsp.tagext.BodyContent ) out); _jspx_th_eg_foo_0.doInitBody(); } and in finallies: if (bitmask.get(1)) { out = pageContext.popBody(); } Maybe you don't need to change the argument for addTagToVector afterall! 2. We don't really need to call finallies if there is no exceptions, so the call to finallies can be placed in a catch block instead of a finally block. This would save us time to check for all the bits that have been cleared, under normal execution. Now you mentioned the use of an array to hold tag objects, I have another idea. Why don't we use a stack to simulate the runtime state? Each stack entry would have a tag object and a state. State 0 means call release() only, and state 1 means call popBody() and then release(). We push an entry onto the stack when we enter a tag body, and pop it when we exit the body. We change the state on the stack top when we do a pushBody. When an exception is thrown, we just need to pop the entries from the stack to decide what to do. For efficiency, we can use an array to simulate the stack, and its size would be the number of nesting of the tags. I think this is quite simple and faster. What do you think? -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory DbcpDataSourceFactory.java
On 16 May 2002 [EMAIL PROTECTED] wrote: Date: 16 May 2002 21:30:22 - From: [EMAIL PROTECTED] Reply-To: Tomcat Developers List [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory DbcpDataSourceFactory.java glenn 02/05/16 14:30:22 Modified:catalina/src/share/org/apache/naming/factory DbcpDataSourceFactory.java Log: Add support for the new DBCP Features. Three new DBCP parameters were added: removeAbandoned - True or false. If true abandoned db connections are removed after the removeAbandonedTimout is exceeded if the dbcp is nearing exhaustion. removeAbandonedTimeout - Time in seconds since a connection was last used before it is considered abandoned. logAbandoned - True or false. If true Exception stack traces are created so that the source of an abandoned db connection can be logged. To avoid maintaining duplicate code for this kind of thing, what would you think about switching Tomcat to using org.apache.commons.dbcp.BasicDataSourceFactory instead, and made these changes over there? That way, they would be available to non-Tomcat users of DBCP as well. (Historically, I wrote DbcpDataSourceFactory first -- but it really belonged in DBCP so it got copied to create BasicDataSourceFactory.) Big +1. Maintaining duplicated code is a bad idea, and BDS appears like a good wrapper for the PoolingDS. The change is very easy: change the value of a constant, and remove the current DBCP factory. Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 9189] New: - Port specified in doc is incorrect
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=9189. 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=9189 Port specified in doc is incorrect Summary: Port specified in doc is incorrect Product: Tomcat 4 Version: 4.0.3 Final Platform: All URL: http://jakarta.apache.org/tomcat/tomcat-4.0- doc/RUNNING.txt OS/Version: Other Status: NEW Severity: Normal Priority: Other Component: Webapps:Documentation AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] for 4.0.3 the 8080 port is no longer default port. it is 8180 please correct to prevent further issues. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core NamingContextListener.java
remm02/05/16 18:56:40 Modified:catalina/src/share/org/apache/catalina/core NamingContextListener.java Log: - Fix a bug where the listener would be registered on all lifecycle events (instead of just on start). Revision ChangesPath 1.14 +6 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/NamingContextListener.java Index: NamingContextListener.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/NamingContextListener.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- NamingContextListener.java8 May 2002 04:58:52 - 1.13 +++ NamingContextListener.java17 May 2002 01:56:40 - 1.14 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/NamingContextListener.java,v 1.13 2002/05/08 04:58:52 remm Exp $ - * $Revision: 1.13 $ - * $Date: 2002/05/08 04:58:52 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/NamingContextListener.java,v 1.14 2002/05/17 01:56:40 remm Exp $ + * $Revision: 1.14 $ + * $Date: 2002/05/17 01:56:40 $ * * * @@ -118,7 +118,7 @@ * with each context and server. * * @author Remy Maucherat - * @version $Revision: 1.13 $ $Date: 2002/05/08 04:58:52 $ + * @version $Revision: 1.14 $ $Date: 2002/05/17 01:56:40 $ */ public class NamingContextListener @@ -266,7 +266,6 @@ namingResources = ((Context) container).getNamingResources(); } else if (container instanceof Server) { namingResources = ((Server) container).getGlobalNamingResources(); -namingResources.addPropertyChangeListener(this); } else { return; } @@ -308,6 +307,7 @@ } if (container instanceof Server) { +namingResources.addPropertyChangeListener(this); org.apache.naming.factory.ResourceLinkFactory.setGlobalContext (namingContext); try { @@ -873,6 +873,7 @@ createSubcontexts(envCtx, resource.getName()); envCtx.bind(resource.getName(), ref); } catch (NamingException e) { +e.printStackTrace(); log(sm.getString(naming.bindFailed, e)); } -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/util/java/org/apache/tomcat/util IntrospectionUtils.java
billbarker02/05/16 19:32:12 Modified:util/java/org/apache/tomcat/util IntrospectionUtils.java Log: Fix for brain-dead 1.1.x JDK implementations of java.io.File. It seems that at least some version of 1.1.x believe that: new File(/lib/).getParent() == /lib By stripping the File.separator off the end, it is possible to guess $TOMCAT_INSTALL from the jar file location. At least Sun's 1.3.1 is still happy with this. If any other JDK doesn't like this, we can try to be smarter. Fix for bug #9165. Reported by: Alberto Squassabia [EMAIL PROTECTED] Revision ChangesPath 1.4 +3 -1 jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/IntrospectionUtils.java Index: IntrospectionUtils.java === RCS file: /home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/IntrospectionUtils.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- IntrospectionUtils.java 10 May 2002 23:32:14 - 1.3 +++ IntrospectionUtils.java 17 May 2002 02:32:12 - 1.4 @@ -187,7 +187,9 @@ try { if( .equals(home) ) { home=new File(./).getCanonicalPath(); -} +} else if( home.endsWith(File.separator) ) { + home = home.substring(0,home.length()-1); + } File f=new File( home ); String parentDir = f.getParent(); if(parentDir == null) -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 9165] - null pointer ex. at startup crashes tomcat
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=9165. 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=9165 null pointer ex. at startup crashes tomcat [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2002-05-17 02:37 --- This is fixed in the CVS HEAD, and will appear in the nightlies once they start being built again. As a work-around in the mean-time, you can remove the tomcat jars from the classpath, and instead set: TOMCAT_OPTS=-Dtomcat.install=/opt/jakarta-tomcat-3.3.1 instead. Then the normal tomcat classloaders should work. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 8087] - HttpSessionAttributeListener.attributeRemoved() not working with URLRewriting
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=8087. 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=8087 HttpSessionAttributeListener.attributeRemoved() not working with URLRewriting [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||WORKSFORME --- Additional Comments From [EMAIL PROTECTED] 2002-05-17 02:49 --- A test case was built for this bug and tested against 4.1.2, and it appears to be working now. This may have been caused by problems with URL rewriting. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 5895] - Not all sessions receives HttpSessionListener.sessionDestroyed(event) using FileStore
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=5895. 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=5895 Not all sessions receives HttpSessionListener.sessionDestroyed(event) using FileStore [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||WORKSFORME --- Additional Comments From [EMAIL PROTECTED] 2002-05-17 02:54 --- This has been tested successfully against milestone 4.1.2. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: [PATCH] Re: [PROPOSAL] Modification of the code generated byJasper2
Mr Chung, You mentioned three areas where the code could be improved. On Thu, 16 May 2002, Kin-Man Chung wrote: 1. I notice the following code pattern that is now generated. bitmask.set(1); addTagToVector(tags, 1, new Integer(_jspx_eval_eg_foo_0)); if (_jspx_eval_eg_foo_0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUD E) { out = pageContext.pushBody(); _jspx_th_eg_foo_0.setBodyContent((javax.servlet.jsp.tagext.BodyContent ) out); _jspx_th_eg_foo_0.doInitBody(); } and from finallies: if (bitmask.get(1)) { if (((Integer)tags.elementAt(1)).intValue() != javax.servlet.jsp.tagext.Ta g.EVAL_BODY_INCLUDE) out = pageContext.popBody(); } I notice that the code bitmask.set(1); is there just for popBody, so if we move it to inside the test that do pushBody, then we don't need to do the test in the finallies. See the codes below. addTagToVector(tags, 1, new Integer(_jspx_eval_eg_foo_0)); if (_jspx_eval_eg_foo_0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUD E) { bitmask.set(1); out = pageContext.pushBody(); _jspx_th_eg_foo_0.setBodyContent((javax.servlet.jsp.tagext.BodyContent ) out); _jspx_th_eg_foo_0.doInitBody(); } and in finallies: if (bitmask.get(1)) { out = pageContext.popBody(); } Maybe you don't need to change the argument for addTagToVector afterall! You're right, in fact, we might get rid of the addTagToVector completely with your next two proposals. 2. We don't really need to call finallies if there is no exceptions, so the call to finallies can be placed in a catch block instead of a finally block. This would save us time to check for all the bits that have been cleared, under normal execution. Yes, this is a very good point. Now you mentioned the use of an array to hold tag objects, I have another idea. Why don't we use a stack to simulate the runtime state? Each stack entry would have a tag object and a state. State 0 means call release() only, and state 1 means call popBody() and then release(). We push an entry onto the stack when we enter a tag body, and pop it when we exit the body. We change the state on the stack top when we do a pushBody. When an exception is thrown, we just need to pop the entries from the stack to decide what to do. For efficiency, we can use an array to simulate the stack, and its size would be the number of nesting of the tags. I think this is quite simple and faster. What do you think? Yes! Yes! In my last e-mail, I mentionned that there is only two actions that we need to do in the finallies. This is: 1) do a release() on a Tag 2) do a popBody() We could push on the stack in this order: Either: 1- A tag 2- The Action identifier for release (a Constant representing release()) Or: 1- The Action identifier for popBody (a Constant representing popBody()) Now the finallies code look like this: While stack is not empty: Pop an action If action is RELEASE then pop a Tag Do a Tag.release() Otherwise /* Action is assumed to be POPBODY */ do a popBody() So the finallies could very well be inlined because it would be short. The other modification would be when we begin the pseudo finally block. At that point we have to remove from the stack what was pushed at the begin of the pseudo try block. If we do a popBody() in the finally, then we must pop one element. If we do a release(), we will pop two elements. In the event of an exception anywhere in the page, the stack would contain only the actions that must be performed in the order to be performed. Your solution is clean, efficient and simple! The stack could very well be an Object[], but if we must rely on arrayCopy(), to extend the array periodically, would it be really much more efficient than using a plain Stack object? After all, this is the way a Stack is implemented by the JDK itself. On the other hand, we know the lower and upper bounds of the stack. Each tag will need to be pushed at least once for the release() and the action identifier will need to be pushed too (so we push two times the number of Tags in the page). And maybe we will need to push once more for a popBody() (so one more time to indicate the action). This would give us an array of size 2 to 3 times the number of tags in the page. I think it would be more efficient to allocate an array of 3 times the number of tags and save us the occasional overhead of arrayCopy() calls to extend the array. Now, I see two ways to determine the size of the array. Either, after generating the _jsp_service() method, the class Generator could produce the declaration of the array because at this time, it
cvs commit: jakarta-tomcat RELEASE-NOTES-3.3.2.txt
billbarker02/05/16 22:15:29 Modified:.RELEASE-NOTES-3.3.2.txt Log: Document fix for #9165 Revision ChangesPath 1.7 +3 -1 jakarta-tomcat/RELEASE-NOTES-3.3.2.txt Index: RELEASE-NOTES-3.3.2.txt === RCS file: /home/cvs/jakarta-tomcat/RELEASE-NOTES-3.3.2.txt,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- RELEASE-NOTES-3.3.2.txt 30 Apr 2002 05:25:22 - 1.6 +++ RELEASE-NOTES-3.3.2.txt 17 May 2002 05:15:29 - 1.7 @@ -3,7 +3,7 @@ Release Notes = -$Id: RELEASE-NOTES-3.3.2.txt,v 1.6 2002/04/30 05:25:22 billbarker Exp $ +$Id: RELEASE-NOTES-3.3.2.txt,v 1.7 2002/05/17 05:15:29 billbarker Exp $ This document describes the changes that have been made since the @@ -36,6 +36,8 @@ 7770 Fixed thread race problem in accessing the Hooks. 8092 Fixed JSP source exposure proplem. + +9165 Fix auto-detection of tomcat.install for certain 1.1.x JDKs. Jasper: -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 9086] - NPE org.apache.tomcat.core.ServerSession.setAttribute
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=9086. 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=9086 NPE org.apache.tomcat.core.ServerSession.setAttribute [EMAIL PROTECTED] changed: What|Removed |Added Severity|Major |Enhancement --- Additional Comments From [EMAIL PROTECTED] 2002-05-17 05:39 --- The Servlet 2.2 spec does not allow passing null as the value to setAttribute. If you need this, you must upgrade to 4.x (where it is allowed in the spec). However, it is probably better to throw an IAE than an NPE in this case, so I'm leaving this open. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]