Re: [4.1.23] Deprecating mod_webapp
George Sexton wrote: From a purely practical standpoint, that would be terribly complicated. Mod_webapp would have to read and fully understand the web.xml and all of the servlet mappings. This is made even more impossible by the addition of filters to the Servlet API. How can mod_webapp even begin to guess at the hidden logic contained within a filter? It is totally impossible. It's not clear to me that you could feasibly implement this kind of front end and incur less overhead that simply passing the request to the servlet engine. Even if you could, at the end of the day, it would still be non-compliant because the last sentence of the second paragraph of section 3.1 of the Servlet API 2.3 Spec says: all requests that begin with the /catalog request path, known as the context path, are routed to the web application associated with the servlet context. I quoted this exact spec to a client because they wanted to do what you propose, only their engine is not smart enough to parse the web.xml. they wanted me to rename all of my pages to end in .jsp so that it would get forwarded. To be compliant, the spec must be fulfilled. ALL requests for the context path must be forwarded to the application. To do otherwise is not compliant with the spec. A specification is like a map through a mine field. You must do precisely what it says, without expansion, or interpolation. If you do otherwise, you will at the least blow your foot off. In our case, by scrupulously following the spec, we have an application that has been tested on 6-8 servlet engines with only one small tweak to work around a bug in one of them. Deviation from the specification, even in the name of imagined efficiency is not acceptable. This is particularly true of Tomcat since it has the role of Reference Implementation. From my experience JkMount directice of mod_jk is simpler to use in real environment when you want to split load between Apache and Tomcat, one handling static/php and the other servlet/jsp. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Digest Authentication
Hi all I've been trying unsuccessfully to use the Digest authentication in Tomcat with my webapp. I need it because Basic authentication is too weak and I cannot use SSL on the client side. I noticed that the implementation in Tomcat has some problems that I describe below: 1. In org.apache.catalina.realm.RealmBase it is said that it implements RFC 2069 but IMHO it actually implements partially RFC 2617 since it uses the qop option to calculate the digests, which first appeared in RFC 2617 2. RFC 2617 clearly says that if qop is not present the request-digest should be calculated as in RFC 2069. However in the current implementation it is always calculated as RFC 2617, i.e. String serverDigestValue = md5a1 + : + nOnce + : + nc + : + cnonce + : + qop + : + md5a2; This excludes the possibility of qop being null in which case the serverDigestValue should be String serverDigestValue = md5a1 + : + nOnce + : + md5a2; Also the case of qop being auth-int is not taken into account at all 3. Finally, there is a problem when obtaining the values qop and nc. Some browsers send qop with quotes, for instance IE, but Mozilla sends them without quotes. Same with nc. What happens is that in org.apache.catalina.authenticator.DigestAuthenticator the qop is calculated always removing the quotes. That makes that in a mozilla's request qop=auth becomes qop=ut and the Digest calculation is different. I'm not sure what should be the right thing to do since clearly both cases may happen. Should they both be supported or should Tomcat be able to analyze the values and accept both? I don't know if Tomcat has some policy about being able to accept bogus input BR Carlos Quiroz - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Digest Authentication
[EMAIL PROTECTED] wrote: Hi all I've been trying unsuccessfully to use the Digest authentication in Tomcat with my webapp. I need it because Basic authentication is too weak and I cannot use SSL on the client side. I noticed that the implementation in Tomcat has some problems that I describe below: 1. In org.apache.catalina.realm.RealmBase it is said that it implements RFC 2069 but IMHO it actually implements partially RFC 2617 since it uses the qop option to calculate the digests, which first appeared in RFC 2617 2. RFC 2617 clearly says that if qop is not present the request-digest should be calculated as in RFC 2069. However in the current implementation it is always calculated as RFC 2617, i.e. String serverDigestValue = md5a1 + : + nOnce + : + nc + : + cnonce + : + qop + : + md5a2; This excludes the possibility of qop being null in which case the serverDigestValue should be String serverDigestValue = md5a1 + : + nOnce + : + md5a2; Also the case of qop being auth-int is not taken into account at all 3. Finally, there is a problem when obtaining the values qop and nc. Some browsers send qop with quotes, for instance IE, but Mozilla sends them without quotes. Same with nc. What happens is that in org.apache.catalina.authenticator.DigestAuthenticator the qop is calculated always removing the quotes. That makes that in a mozilla's request qop=auth becomes qop=ut and the Digest calculation is different. I'm not sure what should be the right thing to do since clearly both cases may happen. Should they both be supported or should Tomcat be able to analyze the values and accept both? I don't know if Tomcat has some policy about being able to accept bogus input I recommend you prepare a patch for this. I'm pretty sure you know about that already, but DIGEST will not work with most Tomcat realms (a refactoring is needed, and will hopefully occur in Tomcat 5). Remy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [4.1.23] Deprecating mod_webapp
On Wed, 19 Mar 2003, George Sexton wrote: | From a purely practical standpoint, that would be terribly complicated. | Mod_webapp would have to read and fully understand the web.xml and all of | the servlet mappings. This is made even more impossible by the addition of | filters to the Servlet API. Impossible?!? | How can mod_webapp even begin to guess at the hidden logic contained | within a filter? Well, it would have to forward requests that were filtered, OF COURSE, since that includes bytecode. | It is totally impossible. It's not clear to me that you could feasibly | implement this kind of front end and incur less overhead that simply | passing the request to the servlet engine. Even if you could, at the end | of the day, it would still be non-compliant because the last sentence of | the second paragraph of section 3.1 of the Servlet API 2.3 Spec says: | | all requests that begin with the /catalog request path, known as the | context path, are routed to the web application associated with the servlet | context. Read: web application. Not Servlet Container. If you absorb the fact that Apache and Tomcat would _work together_ combining forces as being the Servlet Container, then the above statement would hold true. One does encryption (read: SSL) on the Apache side, even though you have to forward parts of that to Tomcat. This is just as deviant from the specs you're referring to, as, considering the web.xml, apache serves static files himself, not bothering his java-executing part of the (combined) Servlet Container to do this.. | | I quoted this exact spec to a client because they wanted to do what you | propose, only their engine is not smart enough to parse the web.xml. they | wanted me to rename all of my pages to end in .jsp so that it would get | forwarded. What's the idea here?! | | To be compliant, the spec must be fulfilled. ALL requests for the context | path must be forwarded to the application. Read again: THE APPLICATION. Right. Running in the Servlet Container. WHICH IS the Apache+Tomcat COMBINATION when you run it with mod_WHATEVER inside of Apache. How would you interpret a Servlet Container that was coded exclusively in C++, not having any normal JVM, simly acting as the VM itself by interpreting bytecode? And then, what if you split these thing slightly apart, using a (standard) JVM to execute the bytecode? And then, having the JVM run standalone, using a communication channel of some sort to make it run the bytecodes? .. And then, finally, thought; what the hell, lets just use Apache and Tomcat instead?? | To do otherwise is not compliant with the spec. A specification is like | a map through a mine field. You must do precisely what it says, without | expansion, or interpolation. Thanks for elaborating on spec. interpretation. -- Mvh, Endre Stølsvik M[+47 93054050] F[+47 51625182] Developer @ CoreTrek AS - http://www.coretrek.com/ CoreTrek corporate portal / EIP - http://www.corelets.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [4.1.23] Deprecating mod_webapp
Remy Maucherat wrote: Hi, I'd like to officially deprecate mod_webapp in Tomcat 4.1.23. +1 :-(( I am using jk2 in 2 FSC products so I prefer that the energies go to one connector instead beeing spread in severals. It is no longer maintained, and will not work with Tomcat 5.0 (at least it won't unless people contribute stuff). That is something I will not make alone because I have _very_ little free time for the next mounths. Remy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[VOTE] [4.1.24] Stability rating
ballot [ ] Alpha [ ] Beta [ ] Stable (GA) /ballot Remy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 13285] - admin web application fail with virtual host
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=13285. 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=13285 admin web application fail with virtual host --- Additional Comments From [EMAIL PROTECTED] 2003-03-20 10:57 --- William, I have to do a new version of this webapp : this version will contain a Restart button for each context in the context list. So I'll post you a diff when this version will be done. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 18180] New: - Jasper getProperty violates spec.
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=18180. 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=18180 Jasper getProperty violates spec. Summary: Jasper getProperty violates spec. Product: Tomcat 4 Version: 4.1.24 Platform: All OS/Version: All Status: NEW Severity: Minor Priority: Other Component: Jasper AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] The implementation of jsp:getProperty outputs rather than null when the get method returns null. This is due to the JspRuntimeLibrary toString(Object) implementation: public static String toString(Object o) { return (o == null) ? : o.toString(); } The equivalent implementation in jasper2 that is contained in the Tomcat 5 source (which yields the expected output): public static String toString(Object o) { return String.valueOf(o); } If it weren't for Tomcats status as being the reference implementation one could argue bug vs. feature.. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [VOTE] [4.1.24] Stability rating
Remy Maucherat wrote: ballot [ ] Alpha [ ] Beta [ ] Stable (GA) /ballot Remy Maybe bug 18073 can be solved before this. It's a trivial solution for making compression=on working. But is's not a critical bug. And maybe text/css and text/javascript can be added to compressableMimeTypes in http11/src/java/org/apache/coyote/http11/Http11Processor.java. Is there a rule about who may vote? Do you have to be a committer or not? Greetings, Ronald. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [VOTE] [4.1.24] Stability rating
Remy Maucherat wrote: ballot [ ] Alpha [ ] Beta [ ] Stable (GA) /ballot I really think it's the right build, this time :) Hopefully, there won't be any last minute issue to derail this. Remy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 18182] New: - Tomcat Out of resources due to exception in AcceptSocket
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=18182. 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=18182 Tomcat Out of resources due to exception in AcceptSocket Summary: Tomcat Out of resources due to exception in AcceptSocket Product: Tomcat 4 Version: 4.1.18 Platform: PC OS/Version: Linux Status: NEW Severity: Critical Priority: Other Component: Catalina AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Our server is stopping services due to exceptions in AcceptSocket after a few time upload. It has not heavy trafic (50 sessions per day), is running secure on port 8443. JDK is j2sdk1.4.1_02 Here is catalina.log says (from 2 to 8 hours possibily aren't any connections): Mar 19, 2003 2:08:57 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on port 8443 Starting service Tomcat-Standalone Apache Tomcat/4.1.18 Mar 19, 2003 2:09:17 PM org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on port 8443 Mar 19, 2003 2:09:18 PM org.apache.jk.common.ChannelSocket init INFO: JK2: ajp13 listening on /0.0.0.0:8059 Mar 19, 2003 2:09:18 PM org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=17/436 config=/coft/jakarta-tomcat- 4.1.18/conf/jk2.properties Mar 19, 2003 8:15:49 PM org.apache.tomcat.util.log.CommonLogHandler log SEVERE: Exception in acceptSocket java.lang.OutOfMemoryError Mar 19, 2003 8:18:07 PM org.apache.tomcat.util.log.CommonLogHandler log SEVERE: Exception in acceptSocket java.lang.OutOfMemoryError Mar 19, 2003 8:19:48 PM org.apache.tomcat.util.log.CommonLogHandler log SEVERE: Exception in acceptSocket java.lang.OutOfMemoryError Mar 19, 2003 8:24:32 PM org.apache.tomcat.util.log.CommonLogHandler log SEVERE: Exception in acceptSocket java.lang.OutOfMemoryError Mar 19, 2003 8:26:02 PM org.apache.tomcat.util.log.CommonLogHandler log SEVERE: Exception in acceptSocket java.lang.OutOfMemoryError Mar 19, 2003 8:27:32 PM org.apache.tomcat.util.log.CommonLogHandler log SEVERE: Exception in acceptSocket java.lang.OutOfMemoryError Mar 19, 2003 8:29:01 PM org.apache.tomcat.util.log.CommonLogHandler log SEVERE: Exception in acceptSocket java.lang.OutOfMemoryError Mar 19, 2003 8:32:09 PM org.apache.tomcat.util.log.CommonLogHandler log SEVERE: Exception in acceptSocket java.lang.OutOfMemoryError Mar 19, 2003 8:32:09 PM org.apache.tomcat.util.log.CommonLogHandler log SEVERE: Exception in acceptSocket java.lang.OutOfMemoryError Compile failed; see the compiler error output for details. at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:842) at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:682) at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:308) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:352) at org.apache.jasper.JspCompilationContext.compile (JspCompilationContext.java:474) at org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:184) at org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:295) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) 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:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex t(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex t(StandardPipeline.java:643) at org.apache.catalina.valves.CertificatesValve.invoke (CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex t(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke (StandardContext.java:2415) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
Re: [VOTE] [4.1.24] Stability rating
I have a machine on production with this version already. Everything seems fine up to now. Remy Maucherat [EMAIL PROTECTED] wrote: [ ] Alpha [ ] Beta [x] Stable (GA) Remy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop!
Re: Tomcat-user
I will second Craig's comments. -1 for create a j-t-c user list. Glenn Craig R. McClanahan wrote: On Wed, 19 Mar 2003, Mladen Turk wrote: Date: Wed, 19 Mar 2003 18:45:05 +0100 From: Mladen Turk [EMAIL PROTECTED] Reply-To: Tomcat Developers List [EMAIL PROTECTED], [EMAIL PROTECTED] To: 'Tomcat Developers List' [EMAIL PROTECTED] Subject: RE: Tomcat-user -Original Message- From: Ignacio J. Ortega [mailto:[EMAIL PROTECTED] Sent: 19. o?ujak 2003 16:23 To: '[EMAIL PROTECTED]' Subject: Tomcat-user Hola a todos: As any of you know i'm currently one the moderators ( well i'm mostly the human spamwatch, but this another history :).. Tomcat-user is becoming bigger and bigger over time, and more and more devoted to jk/jk2, general user questions are becoming more and more rare g this is a exageration of course, but those that lurk there know what i'm saying :).. I wonder if it's time to split up the user list ? the split should be tomcat-connectors-user and tomcat-user.. Comments? +1. I'm not sure about list naming perhaps just tomcat-connectors? My experience has been that splitting lists like this has many more negative consequences than positive ones. * Newbies don't know where to post anyway, so they post to the wrong list (or, worse, double post) * People answering questions have to subscribe to two lists (and wade through those double posts twice instead of once) * People ask questions on one list that have already been answered ad nauseum on the other. Questions related to the connectors have always been the large majority of the issues raised on TOMCAT-USER. Having two lists isn't going to change that. As one of the several people here who *does* subscribe to TOMCAT-USER and tries to answer the occasional question (although not about connectors; they're black magic to me :-), I'm -1 on splitting. MT. Craig - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat-user
I noticed there is a FAQ option for the user list if a message is sent to: [EMAIL PROTECTED] but there isn't a FAQ available. snip FAQ - Frequently asked questions of the [EMAIL PROTECTED] list. None available yet. /snip I am working on a (yet another) version of a FAQ (compared to jGuru) geared towards some of the common questions I see in the user list. http://tomcatfaq.sourceforge.net/ How does one maintain the information coming out of the response to [EMAIL PROTECTED] Would it be helpful to place information (FAQs, pointers to various documention, or other helpful sites) there? More importantly, would users read it? -Tim Glenn Nielsen wrote: I will second Craig's comments. -1 for create a j-t-c user list. Glenn - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [VOTE] [4.1.24] Stability rating
Remy Maucherat wrote: Remy Maucherat wrote: ballot [ ] Alpha [ ] Beta [X] Stable (GA) /ballot Costin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
isapi_redirect.dll corrupts NTLM headers passed on?
Using the filter sevlet from the jcifs project (jcifs.samba.org), I can connect straight to tomcat with IE and use NTLM authentication to make getRemoteUser() return the right thing. However, using isapi_redirect.dll, jcifs gets corrupt data (an NTLM type 3 message) and fails. I don't know exactly what HTTP header this corresponds to. I suppose this could also be a problem with the Coyote/JK2 handler. There are three versions of jk_isapi_plugin.c in the connectors source tarball. Is one of these the source for isapi_redirect.dll? -- [EMAIL PROTECTED](if (brl-related? message); Bruce R. Lewis users.sourceforge.net ; http://brl.codesimply.net/ alum.mit.edu)] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 18190] New: - Instantly Kill OR recycle timed out connections
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=18190. 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=18190 Instantly Kill OR recycle timed out connections Summary: Instantly Kill OR recycle timed out connections Product: Tomcat 4 Version: 4.1.18 Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: Other Component: Unknown AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Hi, We are using Tomcat 4.1.18 and the Tomcat Database connection pooling mechanism. Unfortunately it looks like there is no way by which I can explictly state that abandoned connections should be instantly killed OR recycled as soon as the time out is reached. thanx, Srikanth. S. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [VOTE] [4.1.24] Stability rating
ballot [ ] Alpha [ ] Beta [X ] Stable (GA) /ballot -- Jeanfrancois - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core ContainerBase.java
costin 2003/03/20 07:55:29 Modified:catalina/src/share/org/apache/catalina/core ContainerBase.java Log: Fix valve registration. Few methods to simplify registration. You'll see a lot of valves ( about 130 with the default webapps ). We could filter out trivial valves - but I would rather leave them in as an incentive to eliminate some ( and reduce the stack trace size, memory use, etc :-) For each servlet we have a pipeline with a single valve - the standard wrapper valve. It should be possible to configure per-servlet valves ( not sure how to do it with server.xml, but with jmx it's not hard ) - but that doesn't mean we need all this indirections. Revision ChangesPath 1.11 +66 -15 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ContainerBase.java Index: ContainerBase.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ContainerBase.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- ContainerBase.java19 Mar 2003 07:32:48 - 1.10 +++ ContainerBase.java20 Mar 2003 15:55:28 - 1.11 @@ -159,7 +159,6 @@ * class comments of the implementation class. * * @author Craig R. McClanahan - * @version $Revision$ $Date$ */ public abstract class ContainerBase @@ -1210,6 +1209,24 @@ } } } +// If we are registered and the valve is not - create a default name +Valve valves[]=getValves(); +for( int i=0; ivalves.length; i++ ) { +Valve valve=valves[i]; +//log.info(Valve: + this + + valve + + domain ); +if( valve instanceof ValveBase +((ValveBase)valve).getObjectName()==null ) { +try { +ObjectName vname=((ValveBase)valve).createObjectName(getDomain(), +this.getObjectName()); +((ValveBase)valve).setObjectName(vname); +Registry.getRegistry().registerComponent(valve, vname, valve.getClass().getName()); +((ValveBase)valve).setController(oname); +} catch( Throwable t ) { +log.info( Can't register valve + valve , t ); +} +} +} // Notify our interested LifecycleListeners lifecycle.fireLifecycleEvent(BEFORE_START_EVENT, null); @@ -1348,20 +1365,13 @@ public synchronized void addValve(Valve valve) { pipeline.addValve(valve); -// If we are registered and the valve is not - create a default name -if( domain != null valve instanceof ValveBase -((ValveBase)valve).getObjectName()==null ) { -try { -ObjectName vname=((ValveBase)valve).createObjectName(domain, this.getObjectName()); -Registry.getRegistry().registerComponent(valve, vname, valve.getClass().getName()); -((ValveBase)valve).setController(oname); -} catch( Throwable t ) { -log.info( Can't register valve + valve , t ); -} -} fireContainerEvent(ADD_VALVE_EVENT, valve); } +public ObjectName[] getValveNames() { +return ((StandardPipeline)pipeline).getValveNames(); +} + /** * pReturn the Valve instance that has been distinguished as the basic * Valve for this Pipeline (if any). @@ -1394,13 +1404,12 @@ public synchronized void removeValve(Valve valve) { pipeline.removeValve(valve); -if( domain != null -valve instanceof ValveBase ) { +if( valve instanceof ValveBase ) { try { ValveBase vb=(ValveBase)valve; if( vb.getController()!=null vb.getController() == oname ) { - + ObjectName vname=vb.getObjectName(); Registry.getRegistry().getMBeanServer().unregisterMBean(vname); } @@ -1546,6 +1555,16 @@ } public String getDomain() { +if( domain==null ) { +Container parent=this; +while( parent != null +!( parent instanceof StandardEngine) ) { +parent=parent.getParent(); +} +if( parent instanceof StandardEngine ) { +domain=((StandardEngine)parent).getName(); +} +} return domain; } @@ -1610,5 +1629,37 @@ return null; } +public String getContainerSuffix() { +Container
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardPipeline.java
costin 2003/03/20 07:56:21 Modified:catalina/src/share/org/apache/catalina/core StandardPipeline.java Log: Added a method that will allow us to see what valves are associated with each container. ( pipeline is a helper for container - it won't be exposed directly ) Revision ChangesPath 1.3 +27 -10 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardPipeline.java Index: StandardPipeline.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardPipeline.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- StandardPipeline.java 25 Nov 2002 21:03:50 - 1.2 +++ StandardPipeline.java 20 Mar 2003 15:56:21 - 1.3 @@ -67,6 +67,8 @@ import java.io.IOException; import javax.servlet.ServletException; +import javax.management.ObjectName; +import javax.management.MalformedObjectNameException; import org.apache.catalina.Contained; import org.apache.catalina.Container; import org.apache.catalina.Lifecycle; @@ -79,8 +81,12 @@ import org.apache.catalina.Response; import org.apache.catalina.Valve; import org.apache.catalina.ValveContext; +import org.apache.catalina.valves.ValveBase; import org.apache.catalina.util.LifecycleSupport; import org.apache.catalina.util.StringManager; +import org.apache.commons.modeler.Registry; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; /** @@ -97,8 +103,11 @@ */ public class StandardPipeline -implements Pipeline, Contained, Lifecycle { +implements Pipeline, Contained, Lifecycle + { +private static Log log = LogFactory.getLog(StandardPipeline.class); + // --- Constructors @@ -255,7 +264,6 @@ } - /** * Prepare for active use of the public methods of this Component. * @@ -364,7 +372,7 @@ try { ((Lifecycle) oldBasic).stop(); } catch (LifecycleException e) { -log(StandardPipeline.setBasic: stop, e); +log.error(StandardPipeline.setBasic: stop, e); } } if (oldBasic instanceof Contained) { @@ -386,7 +394,7 @@ try { ((Lifecycle) valve).start(); } catch (LifecycleException e) { -log(StandardPipeline.setBasic: start, e); +log.error(StandardPipeline.setBasic: start, e); return; } } @@ -425,7 +433,7 @@ try { ((Lifecycle) valve).start(); } catch (LifecycleException e) { -log(StandardPipeline.addValve: start: , e); +log.error(StandardPipeline.addValve: start: , e); } } @@ -458,6 +466,16 @@ } +public ObjectName[] getValveNames() { +ObjectName oname[]=new ObjectName[valves.length + 1]; +for( int i=0; ivalves.length; i++ ) { +if( valves[i] instanceof ValveBase ) +oname[i]=((ValveBase)valves[i]).getObjectName(); +} +if( basic instanceof ValveBase ) +oname[valves.length]=((ValveBase)basic).getObjectName(); +return oname; +} /** * Cause the specified request and response to be processed by the Valves @@ -538,7 +556,7 @@ try { ((Lifecycle) valve).stop(); } catch (LifecycleException e) { -log(StandardPipeline.removeValve: stop: , e); +log.error(StandardPipeline.removeValve: stop: , e); } } @@ -589,6 +607,5 @@ } } - } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core mbeans-descriptors.xml
costin 2003/03/20 07:56:40 Modified:catalina/src/share/org/apache/catalina/core mbeans-descriptors.xml Log: Add the valveNames attribute Revision ChangesPath 1.3 +15 -0 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml Index: mbeans-descriptors.xml === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- mbeans-descriptors.xml17 Mar 2003 19:22:07 - 1.2 +++ mbeans-descriptors.xml20 Mar 2003 15:56:40 - 1.3 @@ -119,6 +119,11 @@ description=The document root for this web application type=java.lang.String/ +attribute name=valveNames + description=ObjectNames for the valves associated with this container + type=[Ljavax.management.ObjectName; + writeable=false/ + attribute name=environments description=MBean Names of the set of defined environment entries for this web application type=[Ljava.lang.String; @@ -313,6 +318,11 @@ description=Route used for load balancing type=java.lang.String/ +attribute name=valveNames + description=ObjectNames for the valves associated with this container + type=[Ljavax.management.ObjectName; + writeable=false/ + operation name=addChild description=Add a virtual host impact=ACTION @@ -418,6 +428,11 @@ description=Return the MBean ObjectNames of the Valves associated with this Host type=[Ljavax.management.ObjectName;/ +attribute name=valveNames + description=ObjectNames for the valves associated with this container + type=[Ljavax.management.ObjectName; + writeable=false/ + operation name=addAlias description=Add an alias name that should be mapped to this Host impact=ACTION - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm RealmBase.java
costin 2003/03/20 07:57:40 Modified:catalina/src/share/org/apache/catalina/realm RealmBase.java Log: Simplify ( refactored common operations ) Start work on unregistration. Revision ChangesPath 1.8 +18 -29 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/RealmBase.java Index: RealmBase.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/RealmBase.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- RealmBase.java17 Mar 2003 19:24:13 - 1.7 +++ RealmBase.java20 Mar 2003 15:57:39 - 1.8 @@ -81,10 +81,6 @@ import javax.management.ObjectName; import javax.management.MBeanServer; import javax.management.MBeanRegistration; -import javax.management.InstanceNotFoundException; -import javax.management.MBeanException; -import javax.management.ReflectionException; -import javax.management.MalformedObjectNameException; import org.apache.catalina.Container; import org.apache.catalina.Context; @@ -98,6 +94,7 @@ import org.apache.catalina.core.StandardEngine; import org.apache.catalina.core.StandardHost; import org.apache.catalina.core.StandardContext; +import org.apache.catalina.core.ContainerBase; import org.apache.catalina.deploy.LoginConfig; import org.apache.catalina.deploy.SecurityConstraint; @@ -995,8 +992,17 @@ protected String host; protected String path; protected ObjectName oname; +protected ObjectName controller; protected MBeanServer mserver; +public ObjectName getController() { +return controller; +} + +public void setController(ObjectName controller) { +this.controller = controller; +} + public ObjectName getObjectName() { return oname; } @@ -1040,22 +1046,17 @@ if( container== null ) { // Register with the parent try { -Set names=null; +ObjectName parent=null; if( host == null ) { // global -names=mserver.queryNames(new ObjectName(domain +:type=Engine,*), null); +parent=new ObjectName(domain +:type=Engine); } else if( path==null ) { -names=mserver.queryNames(new ObjectName(domain + -:type=Host,host= + host +,*), null); +parent=new ObjectName(domain + +:type=Host,host= + host); } else { -names=mserver.queryNames(new ObjectName(domain +:j2eeType=WebModule,name=// + -host + / + path + ,*), null); -} -if( names.size() == 0 ) { -log.error(Can't register, no object found + oname ); -return; +parent=new ObjectName(domain +:j2eeType=WebModule,name=// + +host + / + path); } -ObjectName parent=(ObjectName)names.iterator().next(); log.info(Register with + parent); mserver.invoke(parent, setRealm, new Object[] {this}, new String[] {org.apache.catalina.Realm}); @@ -1067,21 +1068,9 @@ if( oname==null ) { // register try { -StandardEngine engine=null; -String suffix=; -if( container instanceof StandardEngine ) { -engine=(StandardEngine)container; -} else if( container instanceof StandardHost ) { -engine=(StandardEngine)container.getParent(); -suffix=,host= + container.getName(); -} else if( container instanceof StandardContext ) { -engine=(StandardEngine)container.getParent().getParent(); -suffix=,host= + container.getParent().getName() + -,path= + ((StandardContext)container).getPath(); -} -oname=new ObjectName(engine.getDomain()+ :type=Realm + suffix); +ContainerBase cb=(ContainerBase)container; +oname=new ObjectName(cb.getDomain()+:type=Realm + cb.getContainerSuffix()); Registry.getRegistry().registerComponent(this, oname, null ); - } catch (Throwable e) { e.printStackTrace(); //To change body of catch statement use Options | File Templates. } - To unsubscribe, e-mail: [EMAIL PROTECTED] For
Some documentation/FAQ entry requests (Was Re: Tomcat-user)
Hi Tim, Nice work at sourceforge. Quick comments: 1. Even though the 4.1 classloader tries to explain classloader hierarchies, not many are knowledgeable to understand that sometimes a jar in the parent classloader might have to be changed to load classes from child classloaders via Thread.getContextClassLoader().load(className). // I've probably got the API incorrect, but I've been spoilt by Visual Age and it's method lookups, and am at a cyber cafe right now. Please bear with me. Perhaps we could have a note somewhere that mentions how to tackle the ClassNotFound Exceptions ? e.g. if someone's got a mysql.jar in commons, then one will be able to store objects into blobs, but not retrieve blobs into objects, because of class visibility issues. At such a time, things get more confusing. If it could write data, w hy can it not read it back now !. 2. Embedding Tomcat. A quick 5-10 line note on what embedding involves, perhaps ? Tomcat's a great way to learn about web servers, and servlets, etc. Unfortunately, not all undre-grad students really understand OO right away. Perhaps, even a pointer to the Embedded class might help ? 3. A note that one should NOT use PkZip to uncompress tgz in windows. I've faced problems here. Sure, the download page does point out to separate links for Windows and Linux, but If PKZip opens the archive, then things must be OK, huh? Currently winzip seems be the only Archival tool that uncompresses the tgzs at jakarta-tomcat correctly. I'd spent three days hunting down virii and performing scandisks, because I had broken links in my download of the source. Not many beginners will really appreciate stuff like gnu extensions etc. If they see a smaller file, they download that. I can't submit anything myself right now, I'm travelling and can only send plain text files. Please let me know if someone is willing to patch these in. -- Sriram --- Tim Funk [EMAIL PROTECTED] wrote: I noticed there is a FAQ option for the user list if a message is sent to: [EMAIL PROTECTED] but there isn't a FAQ available. snip FAQ - Frequently asked questions of the [EMAIL PROTECTED] list. None available yet. /snip I am working on a (yet another) version of a FAQ (compared to jGuru) geared towards some of the common questions I see in the user list. http://tomcatfaq.sourceforge.net/ How does one maintain the information coming out of the response to [EMAIL PROTECTED] Would it be helpful to place information (FAQs, pointers to various documention, or other helpful sites) there? More importantly, would users read it? -Tim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves ValveBase.java
costin 2003/03/20 08:01:34 Modified:catalina/src/share/org/apache/catalina/valves ValveBase.java Log: add object name attribute Revision ChangesPath 1.5 +22 -8 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ValveBase.java Index: ValveBase.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ValveBase.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- ValveBase.java17 Mar 2003 07:43:49 - 1.4 +++ ValveBase.java20 Mar 2003 16:01:33 - 1.5 @@ -83,6 +83,7 @@ import org.apache.catalina.Service; import org.apache.catalina.Host; import org.apache.catalina.Context; +import org.apache.catalina.Wrapper; import org.apache.catalina.core.ContainerBase; import org.apache.catalina.util.StringManager; import org.apache.commons.logging.Log; @@ -222,6 +223,10 @@ return oname; } +public void setObjectName(ObjectName oname) { +this.oname = oname; +} + public String getDomain() { return domain; } @@ -279,13 +284,22 @@ } else if (container instanceof Host) { parentName=,host= +container.getName(); } else if (container instanceof Context) { -String path = ((Context)container).getPath(); +String path = ((Context)container).getPath(); +if (path.length() 1) { +path = /; +} +Host host = (Host) container.getParent(); +parentName=,path= + path + ,host= + +host.getName(); +} else if (container instanceof Wrapper) { +Context ctx = (Context) container.getParent(); +String path = ctx.getPath(); if (path.length() 1) { path = /; } -Host host = (Host) container.getParent(); -parentName=,path= + path + ,host= + -host.getName(); +Host host = (Host) ctx.getParent(); +parentName=,servlet= + container.getName() + +,path= + path + ,host= + host.getName(); } log.info(valve parent= + parentName + + parent); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/coreContainerBase.java
[EMAIL PROTECTED] wrote: costin 2003/03/20 07:55:29 Modified:catalina/src/share/org/apache/catalina/core ContainerBase.java Log: Fix valve registration. Few methods to simplify registration. You'll see a lot of valves ( about 130 with the default webapps ). We could filter out trivial valves - but I would rather leave them in as an incentive to eliminate some ( and reduce the stack trace size, memory use, etc :-) For each servlet we have a pipeline with a single valve - the standard wrapper valve. It should be possible to configure per-servlet valves ( not sure how to do it with server.xml, but with jmx it's not hard ) - but that doesn't mean we need all this indirections. This time, I don't quite agree. For example, there's one valve for status reports, another one for error page dispatching. This makes things more elegant and flexible. I understand it eats a big of the max overhead, and eats a negligible amount of memory, but we shouldn't go that far in optimizing (and there's far bigger problems to work on, such as request dispatcher optimization). Remy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [VOTE] [4.1.24] Stability rating
-Original Message- From: Remy Maucherat [mailto:[EMAIL PROTECTED] Sent: 20. oujak 2003 11:12 To: Tomcat Developers List Subject: [VOTE] [4.1.24] Stability rating ballot [ ] Alpha [ ] Beta [x] Stable (GA) /ballot MT. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core ContainerBase.java
Remy Maucherat wrote: [EMAIL PROTECTED] wrote: costin 2003/03/20 07:55:29 Modified:catalina/src/share/org/apache/catalina/core ContainerBase.java Log: Fix valve registration. Few methods to simplify registration. You'll see a lot of valves ( about 130 with the default webapps ). We could filter out trivial valves - but I would rather leave them in as an incentive to eliminate some ( and reduce the stack trace size, memory use, etc :-) For each servlet we have a pipeline with a single valve - the standard wrapper valve. It should be possible to configure per-servlet valves ( not sure how to do it with server.xml, but with jmx it's not hard ) - but that doesn't mean we need all this indirections. This time, I don't quite agree. For example, there's one valve for status reports, another one for error page dispatching. This makes things more elegant and flexible. I understand it eats a big of the max overhead, and eats a negligible amount of memory, but we shouldn't go that far in optimizing (and there's far bigger problems to work on, such as request dispatcher optimization). I already added code to filter out trivial valves. Yes, it's low priority for most valves. The mapping valves are not low priority tough: from reading the code it seems that EngineVavle, HostVavle, etc are still doing the mapping. Costin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core ContainerBase.java StandardContext.java StandardHost.java StandardPipeline.java StandardWrapper.java StandardWrapperValve.java mbeans-descriptors.xml
costin 2003/03/20 10:28:29 Modified:catalina/src/share/org/apache/catalina/core ContainerBase.java StandardContext.java StandardHost.java StandardPipeline.java StandardWrapper.java StandardWrapperValve.java mbeans-descriptors.xml Log: Fix the build - the dependencies don't seem to work very well.. Removed some duplicated methods and unused fields, moved more to super, more work on clean stop and restart. Revision ChangesPath 1.12 +78 -6 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ContainerBase.java Index: ContainerBase.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ContainerBase.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- ContainerBase.java20 Mar 2003 15:55:28 - 1.11 +++ ContainerBase.java20 Mar 2003 18:28:28 - 1.12 @@ -75,6 +75,7 @@ import javax.management.ObjectName; import javax.management.MBeanRegistration; import javax.management.MBeanServer; +import javax.management.MalformedObjectNameException; import org.apache.naming.resources.ProxyDirContext; import org.apache.catalina.Cluster; @@ -93,6 +94,7 @@ import org.apache.catalina.Request; import org.apache.catalina.Response; import org.apache.catalina.Valve; +import org.apache.catalina.startup.ContextConfig; import org.apache.catalina.logger.LoggerBase; import org.apache.catalina.session.StandardManager; import org.apache.catalina.valves.ValveBase; @@ -347,7 +349,9 @@ * the corresponding version number, in the format * codelt;descriptiongt;/lt;versiongt;/code. */ -public abstract String getInfo(); +public String getInfo() { +return this.getClass().getName(); +} /** @@ -1219,9 +1223,11 @@ try { ObjectName vname=((ValveBase)valve).createObjectName(getDomain(), this.getObjectName()); -((ValveBase)valve).setObjectName(vname); -Registry.getRegistry().registerComponent(valve, vname, valve.getClass().getName()); -((ValveBase)valve).setController(oname); +if( vname != null ) { +((ValveBase)valve).setObjectName(vname); +Registry.getRegistry().registerComponent(valve, vname, valve.getClass().getName()); +((ValveBase)valve).setController(oname); +} } catch( Throwable t ) { log.info( Can't register valve + valve , t ); } @@ -1335,11 +1341,77 @@ ((Lifecycle) loader).stop(); } +if( logger instanceof LoggerBase ) { +LoggerBase lb=(LoggerBase)logger; +if( lb.getObjectName()==null ) { +ObjectName lname=lb.createObjectName(); +try { +Registry.getRegistry().registerComponent(lb, lname, null); +} catch( Exception ex ) { +log.error( Can't register logger + lname, ex); +} +} +} + +// +Valve valves[]=getValves(); +for( int i=0; ivalves.length; i++ ) { +Valve valve=valves[i]; +if( valve instanceof ValveBase +((ValveBase)valve).getObjectName()!=null ) { + Registry.getRegistry().unregisterComponent(((ValveBase)valve).getObjectName()); +} +} + // Notify our interested LifecycleListeners lifecycle.fireLifecycleEvent(AFTER_STOP_EVENT, null); } +/** Init method, part of the MBean lifecycle. + * If the container was added via JMX, it'll register itself with the + * parent, using the ObjectName conventions to locate the parent. + * + * If the container was added directly and it doesn't have an ObjectName, + * it'll create a name and register itself with the JMX console. On destroy(), + * the object will unregister. + * + * @throws Exception + */ +public void init() throws Exception { + +if( this.getParent() == null ) { +// Life update +ObjectName parentName=getParentName(); + +if( parentName != null +! mserver.isRegistered(parentName)) +{ +mserver.invoke(parentName, addChild, new Object[] { this }, +new String[] {org.apache.catalina.Container}); +} +} +}
RE: [VOTE] [4.1.24] Stability rating
| ballot | [ ] Alpha | [ ] Beta | [X] Stable (GA) | /ballot | Keith - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/coreContainerBase.java
Costin Manolache wrote: Remy Maucherat wrote: [EMAIL PROTECTED] wrote: costin 2003/03/20 07:55:29 Modified:catalina/src/share/org/apache/catalina/core ContainerBase.java Log: Fix valve registration. Few methods to simplify registration. You'll see a lot of valves ( about 130 with the default webapps ). We could filter out trivial valves - but I would rather leave them in as an incentive to eliminate some ( and reduce the stack trace size, memory use, etc :-) For each servlet we have a pipeline with a single valve - the standard wrapper valve. It should be possible to configure per-servlet valves ( not sure how to do it with server.xml, but with jmx it's not hard ) - but that doesn't mean we need all this indirections. This time, I don't quite agree. For example, there's one valve for status reports, another one for error page dispatching. This makes things more elegant and flexible. I understand it eats a big of the max overhead, and eats a negligible amount of memory, but we shouldn't go that far in optimizing (and there's far bigger problems to work on, such as request dispatcher optimization). I already added code to filter out trivial valves. Yes, it's low priority for most valves. The mapping valves are not low priority tough: from reading the code it seems that EngineVavle, HostVavle, etc are still doing the mapping. For connector backward compatibility, I recommend we keep the mapper code there. That will allow connectors written for Tomcat 4.1.x to continue working with Tomcat 5. -- Jeanfrancois Costin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 18199] New: - Regression in Tomcat 5: UnavailableException thrown in init() return Status 404 not 503
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=18199. 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=18199 Regression in Tomcat 5: UnavailableException thrown in init() return Status 404 not 503 Summary: Regression in Tomcat 5: UnavailableException thrown in init() return Status 404 not 503 Product: Tomcat 5 Version: 5.0.1 Platform: Sun OS/Version: Solaris Status: NEW Severity: Critical Priority: Other Component: Servlet JSP API AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] CC: [EMAIL PROTECTED],[EMAIL PROTECTED] UnavailableException thrown in init(): public void init( ServletConfig sc ) throws ServletException { //throw new UnavailableException(this,Negative Init Test); throw new UnavailableException( Negative Init Test ); } Configuration of the accessed servlet: servlet servlet-nameDoInit1TestLogicalName/servlet-name servlet-classcom.sun.ts.tests.servlet.api.javax_servlet.servlet.DoInit1TestServlet/servlet-class /servlet servlet-mapping servlet-nameDoInit1TestLogicalName/servlet-name url-pattern/DoInit1Test/url-pattern /servlet-mapping - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 18200] New: - Regression in Tomcat 5: runtime Exception that cannot be caught by catch block
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=18200. 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=18200 Regression in Tomcat 5: runtime Exception that cannot be caught by catch block Summary: Regression in Tomcat 5: runtime Exception that cannot be caught by catch block Product: Tomcat 5 Version: 5.0.1 Platform: Sun OS/Version: Solaris Status: NEW Severity: Critical Priority: Other Component: Catalina AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] CC: [EMAIL PROTECTED],[EMAIL PROTECTED] The following catch block cannot catch java.net.MalformedURLException: try { URL resourceURL = context.getResource( path ); passed=false; pw.println(GetResource_2Test + Data.PASSED); pw.println( Should not be here!!!); } catch (java.net.MalformedURLException ex) { passed = true; pw.println(GetResource_2Test + Data.PASSED); pw.println(Expected java.net.MalformedURLException is thrown); } catch ( Exception e) { passed = false; pw.println(GetResource_2Test + Data.PASSED); pw.println(Unexpected Exception is thrown: + e.toString()); } Stacktrace from server: Mar 20, 2003 1:53:30 PM org.apache.catalina.core.ApplicationContextFacade doPrivileged SEVERE: doPrivileged java.net.MalformedURLException: Path {0} does not start with a / character at org.apache.catalina.core.ApplicationContext.getResource(ApplicationContext.java:470) at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.catalina.core.ApplicationContextFacade.executeMethod(ApplicationContextFacade.java:400) at org.apache.catalina.core.ApplicationContextFacade.doPrivileged(ApplicationContextFacade.java:328) at org.apache.catalina.core.ApplicationContextFacade.doPrivileged(ApplicationContextFacade.java:305) at org.apache.catalina.core.ApplicationContextFacade.getResource(ApplicationContextFacade.java:209) at com.sun.ts.tests.servlet.api.javax_servlet.servletcontext.TestServlet.getResource_2(TestServlet.java:377) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sun.ts.tests.servlet.common.servlets.GenericTCKServlet.invokeTest(GenericTCKServlet.java:79) at com.sun.ts.tests.servlet.common.servlets.GenericTCKServlet.service(GenericTCKServlet.java:63) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:288) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:294) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:490) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1025) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:196) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:490) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1025) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2658) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:490) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1025) at
DO NOT REPLY [Bug 18199] - Regression in Tomcat 5: UnavailableException thrown in init() return Status 404 not 503
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=18199. 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=18199 Regression in Tomcat 5: UnavailableException thrown in init() return Status 404 not 503 [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||INVALID --- Additional Comments From [EMAIL PROTECTED] 2003-03-20 19:05 --- This is correct behaviour according to spec. Mark it invalid. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/coreContainerBase.java
Jeanfrancois Arcand wrote: Costin Manolache wrote: Remy Maucherat wrote: [EMAIL PROTECTED] wrote: costin 2003/03/20 07:55:29 Modified:catalina/src/share/org/apache/catalina/core ContainerBase.java Log: Fix valve registration. Few methods to simplify registration. You'll see a lot of valves ( about 130 with the default webapps ). We could filter out trivial valves - but I would rather leave them in as an incentive to eliminate some ( and reduce the stack trace size, memory use, etc :-) For each servlet we have a pipeline with a single valve - the standard wrapper valve. It should be possible to configure per-servlet valves ( not sure how to do it with server.xml, but with jmx it's not hard ) - but that doesn't mean we need all this indirections. This time, I don't quite agree. For example, there's one valve for status reports, another one for error page dispatching. This makes things more elegant and flexible. I understand it eats a big of the max overhead, and eats a negligible amount of memory, but we shouldn't go that far in optimizing (and there's far bigger problems to work on, such as request dispatcher optimization). I already added code to filter out trivial valves. Yes, it's low priority for most valves. The mapping valves are not low priority tough: from reading the code it seems that EngineVavle, HostVavle, etc are still doing the mapping. For connector backward compatibility, I recommend we keep the mapper code there. That will allow connectors written for Tomcat 4.1.x to continue working with Tomcat 5. I'd like to remove the code. The Tomcat 5 pipeline uses the Coyote API anyway. However, I'd like to point out that the code is only used when the mapping was incomplete for some reason. Remy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Error to create the keystores
Hi. I have a web server Tomcat 4.1.18 and it works fine. My problem is when I create the keystore tomcat of manual form. I have created two Java methods: addCertToKeyStore and addPKToKeyStore. I realize the following step to create my own keystore: - I add CA certificate in JDK keystore: ($JAVA_HOME/jre/lib/security/cacerts). - I add Server certificate in Tomcat keystore: ($TOMCAT_HOME/conf/keystore). - I add Server private key in Tomcat keystore. These steps works fine (I don't obtain any error). When I open a connection in a navigator I obtain the following error: Can't show the page. Am I realizing some error to configure the keystores?? Regards. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 18199] - Regression in Tomcat 5: UnavailableException thrown in init() return Status 404 not 503
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=18199. 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=18199 Regression in Tomcat 5: UnavailableException thrown in init() return Status 404 not 503 [EMAIL PROTECTED] changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|INVALID | --- Additional Comments From [EMAIL PROTECTED] 2003-03-20 19:14 --- The bug is valid, but the statement needs to be corrected: Expect 404 but got 500. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 18201] New: - Tomcat 5 regression: getReader() doesnot throw UnsupportedEncodingException when bogus charset is used
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=18201. 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=18201 Tomcat 5 regression: getReader() doesnot throw UnsupportedEncodingException when bogus charset is used Summary: Tomcat 5 regression: getReader() doesnot throw UnsupportedEncodingException when bogus charset is used Product: Tomcat 5 Version: 5.0.1 Platform: Sun OS/Version: Solaris Status: NEW Severity: Critical Priority: Other Component: Servlet JSP API AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] CC: [EMAIL PROTECTED],[EMAIL PROTECTED] Request: [REQUEST LINE] - POST /servlet_js_servletrequest_web/getReaderUnsupportedEncodingExceptionTest HTTP/1.1 [java][REQUEST HEADER] - Content-Length: 49 [java][REQUEST HEADER] - Host: slappy.east:8080 [java][REQUEST HEADER] - User-Agent: Jakarta Commons-HttpClient/2.0M1 [java][REQUEST HEADER] - Content-Type: text/plain; charset=DoesNonExist [java][REQUEST BODY LENGTH] - 49 Servlet code: public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { PrintWriter pw=response.getWriter(); try { BufferedReader br = request.getReader(); pw.println( getReader() method did not throw UnsupportedEncodingException ); } catch (Throwable t) { if ( !(t instanceof UnsupportedEncodingException) ) { pw.println(Exception thrown, but was not an instance of IllegalStateException.); pw.println(instead received: + t.getClass().getName()); } } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 18202] New: - Tomcat 5 regression: default Content-Type is set
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=18202. 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=18202 Tomcat 5 regression: default Content-Type is set Summary: Tomcat 5 regression: default Content-Type is set Product: Tomcat 5 Version: 5.0.1 Platform: Sun OS/Version: Solaris Status: NEW Severity: Critical Priority: Other Component: Servlet JSP API AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] CC: [EMAIL PROTECTED],[EMAIL PROTECTED] This behaviour is against Servlet spec 2.4 SRV.5.2. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 18203] New: - jikes occationally fails to compile changed jsp pages
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=18203. 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=18203 jikes occationally fails to compile changed jsp pages Summary: jikes occationally fails to compile changed jsp pages Product: Tomcat 4 Version: 4.1.18 Platform: PC OS/Version: Linux Status: NEW Severity: Normal Priority: Other Component: Jasper AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] I havent found a consistent way of provoking this error, but using Jikes 1.1.8 as the compiler for JSP pages sometime fails when the JSP page is initially compiled or a change has occurred to the page. I've tracked the problem to a taglib I'm using on the pages that fails. This taglib is in jar format (with a MANIFEST.MF/taglib.tld file). Jikes produces the following error: 20:49:59,701 ERROR [Engine] ApplicationDispatcher[/webshop] Servlet.service() for servlet jsp threw exception org.apache.jasper.JasperException: Unable to compile class for JSP An error occurred at line: -1 in the jsp file: null Generated servlet error: [javac] Compiling 1 source file [javac] Issued 14 system warnings: [javac] *** Semantic Warning: The file /usr/java/jboss-3.0.6_tomcat-4.1.18/server/default/tmp/deploy/server/default/deploy/properties-service.xml/10.properties-service.xml is not a valid directory. [javac] *** Semantic Warning: The file /usr/java/jboss-3.0.6_tomcat-4.1.18/server/default/tmp/deploy/server/default/deploy/user-service.xml/14.user-service.xml is not a valid directory. [javac] *** Semantic Warning: The file /usr/java/jboss-3.0.6_tomcat-4.1.18/server/default/tmp/deploy/server/default/conf/jboss-service.xml/1.jboss-service.xml is not a valid directory. [javac] *** Semantic Warning: The file /usr/java/jboss-3.0.6_tomcat-4.1.18/server/default/tmp/deploy/server/default/deploy/mail-service.xml/9.mail-service.xml is not a valid directory. [javac] *** Semantic Warning: The file /usr/java/jboss-3.0.6_tomcat-4.1.18/server/default/tmp/deploy/server/default/deploy/postgres-service.xml/15.postgres-service.xml is not a valid directory. [javac] *** Semantic Warning: The file /usr/java/jboss-3.0.6_tomcat-4.1.18/server/default/tmp/deploy/server/default/deploy/hsqldb-service.xml/4.hsqldb-service.xml is not a valid directory. [javac] *** Semantic Warning: The file /usr/java/jboss-3.0.6_tomcat-4.1.18/server/default/tmp/deploy/server/default/deploy/jca-service.xml/7.jca-service.xml is not a valid directory. [javac] *** Semantic Warning: The file /usr/java/jboss-3.0.6_tomcat-4.1.18/server/default/tmp/deploy/server/default/deploy/scheduler-service.xml/12.scheduler-service.xml is not a valid directory. [javac] *** Semantic Warning: The file /usr/java/jboss-3.0.6_tomcat-4.1.18/server/default/tmp/deploy/server/default/deploy/jbossmq-service.xml/6.jbossmq-service.xml is not a valid directory. [javac] *** Semantic Warning: The file /usr/java/jboss-3.0.6_tomcat-4.1.18/server/default/tmp/deploy/server/default/deploy/counter-service.xml/3.counter-service.xml is not a valid directory. [javac] *** Semantic Warning: The file /usr/java/jboss-3.0.6_tomcat-4.1.18/server/default/tmp/deploy/server/default/deploy/schedule-manager-service.xml/11.schedule-manager-service.xml is not a valid directory. [javac] *** Semantic Warning: The file /usr/java/jboss-3.0.6_tomcat-4.1.18/server/default/tmp/deploy/server/default/deploy/jms-service.xml/8.jms-service.xml is not a valid directory. [javac] *** Semantic Warning: The file /usr/java/jboss-3.0.6_tomcat-4.1.18/server/default/tmp/deploy/server/default/deploy/tomcat41-service.xml/13.tomcat41-service.xml is not a valid directory. [javac] *** Semantic Warning: The file /usr/java/jboss-3.0.6_tomcat-4.1.18/server/default/tmp/deploy/server/default/deploy/jbossmq-destinations-service.xml/5.jbossmq-destinations-service.xml is not a valid directory. [javac] Found 1 semantic error compiling /usr/java/eclipse/deploy2/WebShop.war/WEB-INF/lib/GenerelTagLibs.jar/dk/webedge/web/taglib/design/list(ListTag.java): [javac] [javac] 21. public class ListTag extends TagSupport { [javac]. . . [javac]221. } [javac] [javac] *** Semantic Error: Unable to write file /usr/java/eclipse/deploy2/WebShop.war/WEB-INF/lib/GenerelTagLibs.jar/dk/webedge/web/taglib/design/ListTag.class. [javac] Found 1 semantic error compiling /usr/java/eclipse/deploy2/WebShop.war/WEB-INF/lib/GenerelTagLibs.jar/dk/webedge/web/taglib/design/list(ListRowTag.java): [javac] --- [javac] 21.
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core ApplicationContextFacade.java
jfarcand2003/03/20 12:06:38 Modified:catalina/src/share/org/apache/catalina/core ApplicationContextFacade.java Log: Throw the original exception, not a RuntimeException. Fix for bug: 18199 Revision ChangesPath 1.4 +12 -24 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java Index: ApplicationContextFacade.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ApplicationContextFacade.java 11 Mar 2003 19:39:06 - 1.3 +++ ApplicationContextFacade.java 20 Mar 2003 20:06:37 - 1.4 @@ -326,20 +326,14 @@ } return executeMethod(method,appContext,params); -} catch (Throwable ex){ -Throwable exception; +} catch (Exception ex){ if (ex instanceof InvocationTargetException){ -exception = ((InvocationTargetException)ex).getTargetException(); +return ((InvocationTargetException)ex).getTargetException(); } else if (ex instanceof PrivilegedActionException){ -exception = ((PrivilegedActionException)ex).getException(); +return ((PrivilegedActionException)ex).getException(); } else { -exception = ex; + return ex; } - -if (log.isErrorEnabled()){ -log.error(doPrivileged, exception); -} -throw new RuntimeException(ex.getMessage()); } } @@ -358,20 +352,14 @@ Method method = context.getClass() .getMethod(methodName, (Class[])clazz); return executeMethod(method,context,params); -} catch (Throwable ex){ -Throwable exception; +} catch (Exception ex){ if (ex instanceof InvocationTargetException){ -exception = ((InvocationTargetException)ex).getTargetException(); +return ((InvocationTargetException)ex).getTargetException(); } else if (ex instanceof PrivilegedActionException){ -exception = ((PrivilegedActionException)ex).getException(); +return ((PrivilegedActionException)ex).getException(); } else { -exception = ex; + return ex; } - -if (log.isErrorEnabled()){ -log.error(doPrivileged, exception); -} -throw new RuntimeException(ex.getMessage()); } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 18200] - Regression in Tomcat 5: runtime Exception that cannot be caught by catch block
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=18200. 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=18200 Regression in Tomcat 5: runtime Exception that cannot be caught by catch block [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2003-03-20 20:10 --- Fixed. The original exception will be thrown. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 18204] New: - Regression in Tomcat 5: no IllegalArgumentException thrown with new Cookie($test, Valueless);
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=18204. 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=18204 Regression in Tomcat 5: no IllegalArgumentException thrown with new Cookie($test, Valueless); Summary: Regression in Tomcat 5: no IllegalArgumentException thrown with new Cookie($test, Valueless); Product: Tomcat 5 Version: 5.0.1 Platform: Sun OS/Version: Solaris Status: NEW Severity: Critical Priority: Other Component: Servlet JSP API AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] CC: [EMAIL PROTECTED],[EMAIL PROTECTED] The $ sign that starts cookie's name $test should cause IllegalArgumentException thrown. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp ReplicationListener.java ReplicationTransmitter.java ReplicationValve.java SimpleTcpCluster.java WorkerThread.java
fhanik 2003/03/20 12:46:15 Modified:modules/cluster/src/share/org/apache/catalina/cluster/mcast McastService.java McastServiceImpl.java modules/cluster/src/share/org/apache/catalina/cluster/session SimpleTcpReplicationManager.java modules/cluster/src/share/org/apache/catalina/cluster/tcp ReplicationListener.java ReplicationTransmitter.java ReplicationValve.java SimpleTcpCluster.java WorkerThread.java Log: added logging Revision ChangesPath 1.2 +7 -5 jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastService.java Index: McastService.java === RCS file: /home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastService.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- McastService.java 19 Feb 2003 20:32:10 - 1.1 +++ McastService.java 20 Mar 2003 20:46:12 - 1.2 @@ -82,6 +82,8 @@ public class McastService implements MembershipService,MembershipListener { +private static org.apache.commons.logging.Log log = +org.apache.commons.logging.LogFactory.getLog( McastService.class ); /** * The implementation specific properties */ @@ -180,7 +182,7 @@ try { if ( impl != null) impl.stop(); } catch ( Exception x) { -x.printStackTrace(); +log.error(Unable to stop the mcast service.,x); } impl = null; } 1.3 +9 -7 jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastServiceImpl.java Index: McastServiceImpl.java === RCS file: /home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastServiceImpl.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- McastServiceImpl.java 5 Mar 2003 23:54:47 - 1.2 +++ McastServiceImpl.java 20 Mar 2003 20:46:12 - 1.3 @@ -82,6 +82,8 @@ import org.apache.catalina.cluster.MembershipListener; public class McastServiceImpl { +private static org.apache.commons.logging.Log log = +org.apache.commons.logging.LogFactory.getLog( McastService.class ); /** * Internal flag used for the listen thread that listens to the multicasting socket. */ @@ -237,7 +239,7 @@ try { receive(); } catch ( Exception x ) { -x.printStackTrace(); +log.warn(Error receiving mcast package.,x); } } } @@ -254,9 +256,9 @@ send(); this.sleep(time); } catch ( Exception x ) { -x.printStackTrace(); +log.warn(Unable to send mcast message.,x); } } } }//class SenderThread -} \ No newline at end of file +} 1.4 +5 -3 jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/session/SimpleTcpReplicationManager.java Index: SimpleTcpReplicationManager.java === RCS file: /home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/session/SimpleTcpReplicationManager.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- SimpleTcpReplicationManager.java 15 Mar 2003 00:20:56 - 1.3 +++ SimpleTcpReplicationManager.java 20 Mar 2003 20:46:14 - 1.4 @@ -110,6 +110,8 @@ */ public class SimpleTcpReplicationManager extends org.apache.catalina.session.StandardManager { +private static org.apache.commons.logging.Log log = +org.apache.commons.logging.LogFactory.getLog( SimpleTcpCluster.class ); //the channel configuration protected String mChannelConfig = null; 1.2 +6 -5 jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java Index: ReplicationListener.java === RCS file: /home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ReplicationListener.java 19 Feb 2003 20:32:11 - 1.1 +++ ReplicationListener.java 20 Mar 2003 20:46:14 - 1.2 @@ -83,7 +83,8 @@ public class
DO NOT REPLY [Bug 18202] - Tomcat 5 regression: default Content-Type is set
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=18202. 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=18202 Tomcat 5 regression: default Content-Type is set [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||INVALID --- Additional Comments From [EMAIL PROTECTED] 2003-03-20 21:12 --- The statement from the specification contradicts the HTTP spec (and the paragraph makes a wrong statement about the HTTP spec, which DOES default to a default encoding when none is specified; whether or not it is explicitely specified in the request or response does not make any semantic difference). - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Build broken - admin.xml gets moved away
In the target fix-webapps it looks like it is moving the file admin.xml, hence if I run ant dist twice, the second build will fail Filip - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[PATCH] jakarta-servletapi-5: minor updates
Hi, The attached patch is to update the Servlet 2.4 API as follows: 1) Add @since 2.4 into the added methods in: jsr154/src/share/javax/servlet/ServletRequest.java jsr154/src/share/javax/servlet/ServletRequestWrapper.java jsr154/src/share/javax/servlet/ServletResponse.java jsr154/src/share/javax/servlet/ServletResponseWrapper.java jsr154/src/share/javax/servlet/http/HttpSession.java 2) Add summary in the table jsr154/src/share/javax/servlet/http/HttpServletRequest.java -- Yutaka Yoshida Java/XML Software Group Sun Microsystems Inc. Index: jsr154/src/share/javax/servlet/ServletRequest.java === RCS file: /home/cvspublic/jakarta-servletapi-5/jsr154/src/share/javax/servlet/ServletRequest.java,v retrieving revision 1.3 diff -u -r1.3 ServletRequest.java --- jsr154/src/share/javax/servlet/ServletRequest.java 5 Mar 2003 19:42:48 - 1.3 +++ jsr154/src/share/javax/servlet/ServletRequest.java 20 Mar 2003 21:50:06 - @@ -592,6 +592,8 @@ /** * Returns the Internet Protocol (IP) source port of the client * or last proxy that sent the request. + * + * @since 2.4 */ public int getRemotePort(); @@ -602,6 +604,8 @@ * * @return a codeString/code containing the host * name of the IP on which the request was received. + * + * @since 2.4 */ public String getLocalName(); @@ -612,6 +616,8 @@ * @return a codeString/code containing the * IP address on which the request was received. * + * @since 2.4 + * */ public String getLocalAddr(); @@ -621,6 +627,8 @@ * on which the request was received. * * @return an integer specifying the port number + * + * @since 2.4 */ public int getLocalPort(); Index: jsr154/src/share/javax/servlet/ServletRequestWrapper.java === RCS file: /home/cvspublic/jakarta-servletapi-5/jsr154/src/share/javax/servlet/ServletRequestWrapper.java,v retrieving revision 1.3 diff -u -r1.3 ServletRequestWrapper.java --- jsr154/src/share/javax/servlet/ServletRequestWrapper.java 5 Mar 2003 19:42:48 - 1.3 +++ jsr154/src/share/javax/servlet/ServletRequestWrapper.java 20 Mar 2003 21:50:06 - @@ -403,6 +403,8 @@ /** * The default behavior of this method is to return * getRemotePort() on the wrapped request object. + * + * @since 2.4 */ public int getRemotePort(){ return this.request.getRemotePort(); @@ -412,6 +414,8 @@ /** * The default behavior of this method is to return * getLocalName() on the wrapped request object. + * + * @since 2.4 */ public String getLocalName(){ return this.request.getLocalName(); @@ -420,6 +424,8 @@ /** * The default behavior of this method is to return * getLocalAddr() on the wrapped request object. + * + * @since 2.4 */ public String getLocalAddr(){ return this.request.getLocalAddr(); @@ -429,6 +435,8 @@ /** * The default behavior of this method is to return * getLocalPort() on the wrapped request object. + * + * @since 2.4 */ public int getLocalPort(){ return this.request.getLocalPort(); Index: jsr154/src/share/javax/servlet/ServletResponse.java === RCS file: /home/cvspublic/jakarta-servletapi-5/jsr154/src/share/javax/servlet/ServletResponse.java,v retrieving revision 1.2 diff -u -r1.2 ServletResponse.java --- jsr154/src/share/javax/servlet/ServletResponse.java 5 Mar 2003 19:42:48 - 1.2 +++ jsr154/src/share/javax/servlet/ServletResponse.java 20 Mar 2003 21:50:06 - @@ -149,6 +149,8 @@ * content type, for example, * codetext/html; charset=UTF-8/code, * or null + * + * @since 2.4 */ public String getContentType(); @@ -243,6 +245,8 @@ * * @see#setContentType * #setLocale + * + * @since 2.4 * */ Index: jsr154/src/share/javax/servlet/ServletResponseWrapper.java === RCS file: /home/cvspublic/jakarta-servletapi-5/jsr154/src/share/javax/servlet/ServletResponseWrapper.java,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 ServletResponseWrapper.java --- jsr154/src/share/javax/servlet/ServletResponseWrapper.java 13 Aug 2002 16:21:43 - 1.1.1.1 +++ jsr154/src/share/javax/servlet/ServletResponseWrapper.java 20 Mar 2003 21:50:06 - @@ -120,6 +120,8 @@ /** * The default behavior of this method is to call setCharacterEncoding(String charset) * on the wrapped response object. + * + * @since 2.4 */
DO NOT REPLY [Bug 18212] New: - CVS Build failed: Something are wrong with commons Registry api
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=18212. 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=18212 CVS Build failed: Something are wrong with commons Registry api Summary: CVS Build failed: Something are wrong with commons Registry api Product: Tomcat 5 Version: Nightly Build Platform: PC OS/Version: MacOS X Status: NEW Severity: Normal Priority: Other Component: Catalina AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] After ant checkout ant download ant I got this errors build-catalina-core: [javac] Compiling 222 source files to C:\develop\tomcat\jakarta-tomcat- catal ina\build\server\classes [javac] C:\develop\tomcat\jakarta-tomcat- catalina\catalina\src\share\org\apa che\catalina\core\ContainerBase.java:1210: registerComponent (java.lang.Object,ja va.lang.String,java.lang.String,java.lang.String) in org.apache.commons.modeler. Registry cannot be applied to (org.apache.catalina.logger.LoggerBase,javax.manag ement.ObjectName,nulltype) [javac] Registry.getRegistry().registerComponent(lb, lna me, null); [javac] ^ [javac] C:\develop\tomcat\jakarta-tomcat- catalina\catalina\src\share\org\apa che\catalina\core\ContainerBase.java:1228: registerComponent (java.lang.Object,ja va.lang.String,java.lang.String,java.lang.String) in org.apache.commons.modeler. Registry cannot be applied to (org.apache.catalina.Valve,javax.management.Object Name,java.lang.String) [javac] Registry.getRegistry().registerComponent (val ve, vname, valve.getClass().getName()); [javac] ^ [javac] C:\develop\tomcat\jakarta-tomcat- catalina\catalina\src\share\org\apa che\catalina\core\ContainerBase.java:1349: registerComponent (java.lang.Object,ja va.lang.String,java.lang.String,java.lang.String) in org.apache.commons.modeler. Registry cannot be applied to (org.apache.catalina.logger.LoggerBase,javax.manag ement.ObjectName,nulltype) [javac] Registry.getRegistry().registerComponent(lb, lna me, null); [javac] ^ [javac] C:\develop\tomcat\jakarta-tomcat- catalina\catalina\src\share\org\apa che\catalina\core\ContainerBase.java:1362: unregisterComponent (java.lang.String) in org.apache.commons.modeler.Registry cannot be applied to (javax.management.O bjectName) [javac] Registry.getRegistry().unregisterComponent (((ValveBa se)valve).getObjectName()); [javac] ^ [javac] C:\develop\tomcat\jakarta-tomcat- catalina\catalina\src\share\org\apa che\catalina\core\ContainerBase.java:1486: cannot resolve symbol [javac] symbol : method unregisterMBean (javax.management.ObjectName) [javac] location: class java.lang.Object [javac] Registry.getRegistry().getMBeanServer ().unregist erMBean(vname); [javac] ^ [javac] C:\develop\tomcat\jakarta-tomcat- catalina\catalina\src\share\org\apa che\catalina\core\StandardEngine.java:387: registerComponent (java.lang.Object,ja va.lang.String,java.lang.String,java.lang.String) in org.apache.commons.modeler. Registry cannot be applied to (org.apache.catalina.core.StandardEngine,javax.man agement.ObjectName,nulltype) [javac] Registry.getRegistry().registerComponent(this, oname , null); [javac] ^ [javac] C:\develop\tomcat\jakarta-tomcat- catalina\catalina\src\share\org\apa che\catalina\core\StandardContext.java:4714: cannot resolve symbol [javac] symbol : method isRegistered (javax.management.ObjectName) [javac] location: class java.lang.Object [javac] if(! Registry.getRegistry().getMBeanServer ().isRegis tered(oname)) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina build.xml
costin 2003/03/20 15:29:34 Modified:catalina build.xml Log: Add a flag to turn off doc generation. Add the 'index' flag - it is supposed to optimize jar reading on 1.4+ ( without hurting 1.3-) Copy all config files Revision ChangesPath 1.47 +27 -20jakarta-tomcat-catalina/catalina/build.xml Index: build.xml === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/build.xml,v retrieving revision 1.46 retrieving revision 1.47 diff -u -r1.46 -r1.47 --- build.xml 13 Mar 2003 21:00:29 - 1.46 +++ build.xml 20 Mar 2003 23:29:34 - 1.47 @@ -750,7 +750,7 @@ !-- BUILD: Create Catalina Javadocs === -- - target name=javadoc + target name=javadoc unless=docs.uptodate delete dir=${catalina.build}/javadoc/ mkdir dir=${catalina.build}/javadoc/ javadoc packagenames=org.apache.catalina.*,org.apache.naming.* @@ -862,7 +862,7 @@ !-- == DEPLOY: Copy Static Files === -- - target name=deploy-static depends=build-main,deploy-prepare,deploy-static-only/ + target name=deploy-static depends=build-main,deploy-prepare,deploy-static-only,deploy-libs/ target name=deploy-static-only depends=deploy-prepare @@ -874,19 +874,24 @@ fixcrlf srcdir=${catalina.deploy}/bin includes=*.bat eol=crlf/ chmod perm=+x dir=${catalina.build}/bin includes=*.sh/ +!-- Configuration Files -- +copy todir=${catalina.deploy}/conf + fileset dir=${catalina.build}/conf / +/copy + + /target + + target name=deploy-libs + !-- Common Extensions -- copy todir=${catalina.deploy}/common/endorsed fileset dir=${catalina.build}/common/endorsed / /copy + copy todir=${catalina.deploy}/common/lib fileset dir=${catalina.build}/common/lib / /copy -!-- Configuration Files -- -copy todir=${catalina.deploy}/conf - fileset dir=${catalina.build}/conf / -/copy - !-- Server Components -- copy todir=${catalina.deploy}/server/lib fileset dir=${catalina.build}/server/lib / @@ -905,7 +910,7 @@ target name=catalina-jars depends=build-static,deploy-prepare,flags,flags.display,build-catalina description=Build catalina jars -!-- Catalina Bootstrap JAR File -- +!-- Catalina Bootstrap JAR File. It is a very wrong idea to split packages in multiple jars !!! -- jar jarfile=${catalina.deploy}/bin/bootstrap.jar manifest=etc/bootstrap.MF fileset dir=${classes.dir} @@ -927,7 +932,8 @@ !-- Excluding files from here is worse than duplicating them - a loader that uses the package name as index and includes both bootstrap and catalina will be confused -- -jar jarfile=${catalina.deploy}/server/lib/catalina.jar +jar jarfile=${catalina.deploy}/server/lib/catalina.jar + index=true fileset dir=${classes.dir} include name=org/apache/catalina/** / exclude name=org/apache/catalina/ant/** / @@ -958,7 +964,8 @@ /jar !-- Naming - Common JAR File -- -jar jarfile=${catalina.deploy}/common/lib/naming-common.jar +jar jarfile=${catalina.deploy}/common/lib/naming-common.jar + index=true fileset dir=${classes.dir} include name=org/apache/naming/* / include name=org/apache/naming/factory/Constants.class / @@ -972,7 +979,7 @@ !-- Naming - Java: namespace. It shouldn't be included if tomcat is used inside a different container that provides this ns -- -jar jarfile=${catalina.deploy}/common/lib/naming-java.jar +jar jarfile=${catalina.deploy}/common/lib/naming-java.jar index=true fileset dir=${classes.dir} include name=org/apache/naming/java/* / /fileset @@ -980,7 +987,7 @@ !-- Naming - Factory JAR File -- -jar jarfile=${catalina.deploy}/common/lib/naming-factory.jar +jar jarfile=${catalina.deploy}/common/lib/naming-factory.jar index=true fileset dir=${classes.dir} include name=org/apache/naming/factory/** / exclude name=org/apache/naming/factory/Constants.class / @@ -989,14 +996,14 @@ /jar !-- Naming - Resources JAR File -- -jar jarfile=${catalina.deploy}/common/lib/naming-resources.jar +jar jarfile=${catalina.deploy}/common/lib/naming-resources.jar index=true fileset dir=${classes.dir} include name=org/apache/naming/resources/* / /fileset /jar !-- Servlets - Common Files -- -jar jarfile=${catalina.deploy}/server/lib/servlets-common.jar +jar jarfile=${catalina.deploy}/server/lib/servlets-common.jar index=true fileset
cvs commit: jakarta-tomcat-catalina/catalina/src/bin catalina.sh
costin 2003/03/20 15:30:46 Modified:catalina/src/bin catalina.sh Log: Port from 3.3 - if -force option is used and a pid file was set, use it to kill tomcat. This allows getting rid of hunged instances. Revision ChangesPath 1.6 +10 -1 jakarta-tomcat-catalina/catalina/src/bin/catalina.sh Index: catalina.sh === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/bin/catalina.sh,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- catalina.sh 6 Mar 2003 11:24:05 - 1.5 +++ catalina.sh 20 Mar 2003 23:30:45 - 1.6 @@ -231,6 +231,15 @@ -Djava.io.tmpdir=$CATALINA_TMPDIR \ org.apache.catalina.startup.Bootstrap $@ stop + if [ $1 = -force ] ; then +shift +if [ ! -z $CATALINA_PID ]; then + echo Killing: `cat $CATALINA_PID` + kill -9 `cat $CATALINA_PID` +fi + fi + + else echo Usage: catalina.sh ( commands ... ) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core ApplicationFilterConfig.java
costin 2003/03/20 15:31:47 Modified:catalina/src/share/org/apache/catalina/core ApplicationFilterConfig.java Log: One more serialized. I had it on my laptop. Serializing the context would greatly increase the startup time - but it's unlikely to be finished for 5.0 Revision ChangesPath 1.5 +7 -6 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java Index: ApplicationFilterConfig.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- ApplicationFilterConfig.java 31 Dec 2002 03:57:19 - 1.4 +++ ApplicationFilterConfig.java 20 Mar 2003 23:31:47 - 1.5 @@ -69,6 +69,7 @@ import java.util.Enumeration; import java.util.Iterator; import java.util.Map; +import java.io.Serializable; import javax.servlet.Filter; import javax.servlet.FilterConfig; import javax.servlet.ServletContext; @@ -89,7 +90,7 @@ * @version $Revision$ $Date$ */ -final class ApplicationFilterConfig implements FilterConfig { +final class ApplicationFilterConfig implements FilterConfig, Serializable { private static org.apache.commons.logging.Log log= org.apache.commons.logging.LogFactory.getLog( ApplicationFilterConfig.class ); @@ -138,7 +139,7 @@ /** * The application Filter we are configured for. */ -private Filter filter = null; +private transient Filter filter = null; /** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup ContextConfig.java
costin 2003/03/20 15:33:44 Modified:catalina/src/share/org/apache/catalina/startup ContextConfig.java Log: No default web.xml. We should pack the default ( or a minimized ) web.xml in catalina.jar ( but not in root - probably o/a/c/deploy ). Revision ChangesPath 1.22 +10 -4 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/ContextConfig.java Index: ContextConfig.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- ContextConfig.java12 Mar 2003 21:19:26 - 1.21 +++ ContextConfig.java20 Mar 2003 23:33:44 - 1.22 @@ -660,9 +660,15 @@ // Use getResource and getResourceAsStream stream = getClass().getClassLoader() .getResourceAsStream(defaultWebXml); -source = new InputSource -(getClass().getClassLoader() - .getResource(defaultWebXml).toString()); +if( stream != null ) { +source = new InputSource +(getClass().getClassLoader() +.getResource(defaultWebXml).toString()); +} else { +log.info(No default web.xml); +// no default web.xml +return; +} } else { source = new InputSource(file:// + file.getAbsolutePath()); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup Embedded.java
costin 2003/03/20 15:36:14 Modified:catalina/src/share/org/apache/catalina/startup Embedded.java Log: Few small enhancements. Make Embedded extend StandardService. It includes an Engine and connectors - just like Service. This will allow us to harmonize the 2 use cases. ( I'm also adding code to create a StandardServer if none is found - so exactly the same object model and JMX naming will be used in both embeded and standalone ) Also removed the test main(). Revision ChangesPath 1.6 +25 -117 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/Embedded.java Index: Embedded.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/Embedded.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Embedded.java 7 Feb 2003 01:07:13 - 1.5 +++ Embedded.java 20 Mar 2003 23:36:13 - 1.6 @@ -1,7 +1,4 @@ /* - * $Header$ - * $Revision$ - * $Date$ * * * @@ -68,8 +65,6 @@ import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import java.net.InetAddress; -import java.util.Enumeration; -import java.util.Properties; import org.apache.tomcat.util.IntrospectionUtils; @@ -79,18 +74,18 @@ import org.apache.catalina.Engine; import org.apache.catalina.Host; import org.apache.catalina.Lifecycle; -import org.apache.catalina.LifecycleEvent; import org.apache.catalina.LifecycleException; import org.apache.catalina.LifecycleListener; import org.apache.catalina.Loader; import org.apache.catalina.Logger; import org.apache.catalina.Realm; +import org.apache.catalina.Service; import org.apache.catalina.core.StandardContext; import org.apache.catalina.core.StandardEngine; import org.apache.catalina.core.StandardHost; +import org.apache.catalina.core.StandardService; import org.apache.catalina.loader.WebappLoader; import org.apache.catalina.logger.FileLogger; -import org.apache.catalina.logger.SystemOutLogger; import org.apache.catalina.net.ServerSocketFactory; import org.apache.catalina.realm.MemoryRealm; import org.apache.catalina.security.SecurityConfig; @@ -99,6 +94,10 @@ import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.Log; +import javax.management.ObjectName; +import javax.naming.InitialContext; +import javax.naming.NamingException; + /** * Convenience class to embed a Catalina servlet container environment @@ -157,7 +156,7 @@ * @version $Revision$ $Date$ */ -public class Embedded implements Lifecycle { +public class Embedded extends StandardService implements Lifecycle { private static Log log = LogFactory.getLog(Embedded.class); // --- Constructors @@ -410,7 +409,6 @@ } public void setCatalinaHome( String s ) { -System.out.println(Setting home + s); System.setProperty( catalina.home, s); } @@ -418,11 +416,17 @@ System.setProperty( catalina.base, s); } +public String getCatalinaHome() { +return System.getProperty(catalina.home); +} + +public String getCatalinaBase() { +return System.getProperty(catalina.base); +} // - Public Methods - /** * Add a new Connector to the set of defined Connectors. The newly * added Connector will be associated with the most recently added Engine. @@ -583,7 +587,6 @@ } - /** * Create, configure, and return a Context that will process all * HTTP requests received from one of the associated Connectors, @@ -974,12 +977,15 @@ */ public void start() throws LifecycleException { -if( log.isDebugEnabled() ) -log.debug(Starting embedded server); +if( log.isInfoEnabled() ) +log.info(Starting tomcat server); // Validate the setup of our required system properties initDirs(); +// Initialize some naming specific properties +initNaming(); + // Validate and update our current component state if (started) throw new LifecycleException @@ -987,21 +993,6 @@ lifecycle.fireLifecycleEvent(START_EVENT, null); started = true; -// Initialize some naming specific properties -if (!useNaming) { -System.setProperty(catalina.useNaming, false); -} else { -System.setProperty(catalina.useNaming, true); -String value =
Cluster wide deployment, question
I'm about to implement cluster wide deployment. Who should initiate the call to deploy cluster wide, should it be the StandardHostDeployer or the manager servlet? Filip - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources messages.properties
kinman 2003/03/20 16:43:58 Modified:jasper2/src/share/org/apache/jasper/compiler ELFunctionMapper.java Generator.java Validator.java jasper2/src/share/org/apache/jasper/resources messages.properties Log: - Minor fix in function mapper. Revision ChangesPath 1.2 +6 -5 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ELFunctionMapper.java Index: ELFunctionMapper.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ELFunctionMapper.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ELFunctionMapper.java 19 Mar 2003 20:51:34 - 1.1 +++ ELFunctionMapper.java 21 Mar 2003 00:43:57 - 1.2 @@ -83,14 +83,15 @@ map.ds = new StringBuffer(); map.ss = new StringBuffer(); - map.ds.append(static {\n); page.visit(map.new ELFunctionVisitor()); - map.ds.append(}\n); // Append the declarations to the root node - Node root = page.getRoot(); - new Node.Declaration(map.ss.toString(), root.getStart(), root); - new Node.Declaration(map.ds.toString(), root.getStart(), root); + String ds = map.ds.toString(); + if (ds.length() 0) { + Node root = page.getRoot(); + new Node.Declaration(map.ss.toString(), root.getStart(), root); + new Node.Declaration(static {\n + ds + }\n, root.getStart(), root); + } } class ELFunctionVisitor extends Node.Visitor { 1.175 +4 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java Index: Generator.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v retrieving revision 1.174 retrieving revision 1.175 diff -u -r1.174 -r1.175 --- Generator.java19 Mar 2003 20:51:34 - 1.174 +++ Generator.java21 Mar 2003 00:43:57 - 1.175 @@ -1020,7 +1020,7 @@ pageContext.findAttribute(\ + name + \), \ + property + \, + quote(value.getValue()) + , -+ pageContext, _jspx_fnmap);); ++ pageContext, + value.getEL().getMapName() + );); /* + (javax.servlet.jsp.el.VariableResolver) pageContext, + (javax.servlet.jsp.el.FunctionMapper) this );); 1.92 +4 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java Index: Validator.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java,v retrieving revision 1.91 retrieving revision 1.92 diff -u -r1.91 -r1.92 --- Validator.java19 Mar 2003 20:51:35 - 1.91 +++ Validator.java21 Mar 2003 00:43:57 - 1.92 @@ -1205,7 +1205,7 @@ if (prefix == null) { // In XML syntax, use the default namespace if (defaultNS == null) { - err.jspError(n, jsp.error.noFuncionPrefix, + err.jspError(n, jsp.error.noFunctionPrefix, function); } uri = defaultNS; 1.106 +2 -4 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.105 retrieving revision 1.106 diff -u -r1.105 -r1.106 --- messages.properties 19 Mar 2003 20:51:35 - 1.105 +++ messages.properties 21 Mar 2003 00:43:58 - 1.106 @@ -97,8 +97,6 @@ jsp.error.beans.nomethod.setproperty=Can''t find a method to write property ''{0}'' of type ''{1}'' in a bean of type ''{2}'' jsp.error.beans.noproperty=Cannot find any information on property ''{0}'' in a bean of type ''{1}'' jsp.error.beans.setproperty.noindexset=Cannot set indexed property -jsp.error.beans.property.conversion=Unable to convert string \{0}\ to class \{1}\ for attribute \{2}\: {3} -jsp.error.beans.propertyeditor.notregistered=Property Editor not registered with the PropertyEditorManager jsp.error.include.tag=Invalid jsp:include tag jsp.error.include.noflush=jsp:include needs to have \flush=true\ jsp.error.include.badflush=jsp:include page=\...\ flush=\true\ is the only valid combination in JSP 1.0 @@ -375,4 +373,4 @@
cvs commit: jakarta-tomcat-5 build.xml
amyroh 2003/03/20 16:45:27 Modified:.build.xml Log: Copy admin.xml instead of move so second build doesn't fail without doing ant clean. Revision ChangesPath 1.115 +1 -1 jakarta-tomcat-5/build.xml Index: build.xml === RCS file: /home/cvs/jakarta-tomcat-5/build.xml,v retrieving revision 1.114 retrieving revision 1.115 diff -u -r1.114 -r1.115 --- build.xml 17 Mar 2003 20:06:18 - 1.114 +++ build.xml 21 Mar 2003 00:45:26 - 1.115 @@ -579,7 +579,7 @@ !-- Add XML declarations for admin and manager -- move file=${tomcat.build}/server/webapps/manager/manager.xml todir=${tomcat.build}/webapps / -move file=${tomcat.build}/server/webapps/admin/admin.xml +copy file=${tomcat.build}/server/webapps/admin/admin.xml todir=${tomcat.build}/webapps / /target - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-servletapi-5/jsr152/examples/jsp2/el basic-arithmetic.jsp basic-arithmetic.txt basic-comparisons.jsp basic-comparisons.txt functions.jsp functions.txt implicit-objects.jsp implicit-objects.txt
kinman 2003/03/20 16:54:06 Modified:jsr152/examples/jsp2/el basic-arithmetic.jsp basic-arithmetic.txt basic-comparisons.jsp basic-comparisons.txt functions.jsp functions.txt implicit-objects.jsp implicit-objects.txt Log: - patch by Mark Roth Quick patch to improve JSP 2.0 EL examples: * Added example of conditional operator ${(1==2) ? 3 : 4} Commented out, since this is not yet implemented. * Changed quoting from old-style ${'${'} 1 + 2 } to new-style \${ 1 + 2 } Revision ChangesPath 1.2 +17 -11 jakarta-servletapi-5/jsr152/examples/jsp2/el/basic-arithmetic.jsp Index: basic-arithmetic.jsp === RCS file: /home/cvs/jakarta-servletapi-5/jsr152/examples/jsp2/el/basic-arithmetic.jsp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- basic-arithmetic.jsp 7 Sep 2002 00:47:59 - 1.1 +++ basic-arithmetic.jsp 21 Mar 2003 00:54:06 - 1.2 @@ -18,49 +18,55 @@ tdbResult/b/td /thead tr - td${'${'}1}/td + td\${1}/td td${1}/td /tr tr - td${'${'}1 + 2}/td + td\${1 + 2}/td td${1 + 2}/td /tr tr - td${'${'}1.2 + 2.3}/td + td\${1.2 + 2.3}/td td${1.2 + 2.3}/td /tr tr - td${'${'}1.2E4 + 1.4}/td + td\${1.2E4 + 1.4}/td td${1.2E4 + 1.4}/td /tr tr - td${'${'}-4 - 2}/td + td\${-4 - 2}/td td${-4 - 2}/td /tr tr - td${'${'}21 * 2}/td + td\${21 * 2}/td td${21 * 2}/td /tr tr - td${'${'}3/4}/td + td\${3/4}/td td${3/4}/td /tr tr - td${'${'}3 div 4}/td + td\${3 div 4}/td td${3 div 4}/td /tr tr - td${'${'}3/0}/td + td\${3/0}/td td${3/0}/td /tr tr - td${'${'}10%4}/td + td\${10%4}/td td${10%4}/td /tr tr - td${'${'}10 mod 4}/td + td\${10 mod 4}/td td${10 mod 4}/td /tr +%-- XXX - NOT YET IMPLEMENTED + tr +td\${(1==2) ? 3 : 4}/td +td${(1==2) ? 3 : 4}/td + /tr +--% /table /code /blockquote 1.2 +17 -11 jakarta-servletapi-5/jsr152/examples/jsp2/el/basic-arithmetic.txt Index: basic-arithmetic.txt === RCS file: /home/cvs/jakarta-servletapi-5/jsr152/examples/jsp2/el/basic-arithmetic.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- basic-arithmetic.txt 7 Sep 2002 00:47:59 - 1.1 +++ basic-arithmetic.txt 21 Mar 2003 00:54:06 - 1.2 @@ -18,49 +18,55 @@ tdbResult/b/td /thead tr - td${'${'}1}/td + td\${1}/td td${1}/td /tr tr - td${'${'}1 + 2}/td + td\${1 + 2}/td td${1 + 2}/td /tr tr - td${'${'}1.2 + 2.3}/td + td\${1.2 + 2.3}/td td${1.2 + 2.3}/td /tr tr - td${'${'}1.2E4 + 1.4}/td + td\${1.2E4 + 1.4}/td td${1.2E4 + 1.4}/td /tr tr - td${'${'}-4 - 2}/td + td\${-4 - 2}/td td${-4 - 2}/td /tr tr - td${'${'}21 * 2}/td + td\${21 * 2}/td td${21 * 2}/td /tr tr - td${'${'}3/4}/td + td\${3/4}/td td${3/4}/td /tr tr - td${'${'}3 div 4}/td + td\${3 div 4}/td td${3 div 4}/td /tr tr - td${'${'}3/0}/td + td\${3/0}/td td${3/0}/td /tr tr - td${'${'}10%4}/td + td\${10%4}/td td${10%4}/td /tr tr - td${'${'}10 mod 4}/td + td\${10 mod 4}/td td${10 mod 4}/td /tr +%-- XXX - NOT YET IMPLEMENTED + tr +td\${(1==2) ? 3 : 4}/td +td${(1==2) ? 3 : 4}/td + /tr +--% /table /code /blockquote 1.2 +15 -15 jakarta-servletapi-5/jsr152/examples/jsp2/el/basic-comparisons.jsp Index: basic-comparisons.jsp === RCS file: /home/cvs/jakarta-servletapi-5/jsr152/examples/jsp2/el/basic-comparisons.jsp,v retrieving revision 1.1 retrieving revision 1.2 diff
Re: Cluster wide deployment, question
Filip Hanik wrote: I'm about to implement cluster wide deployment. Who should initiate the call to deploy cluster wide, should it be the StandardHostDeployer or the manager servlet? What do you mean ? When an app is deployed on one host in the cluster do you plan to copy it to all instances ? In any case - the right way to do it is to listen for JMX registration events - that will tell you when a new webapp was registered in an instance, regardless of the method ( StandardHostDeployer, manager servlet, admin, other app calling methods directly ). You can do that by creating an mbean and having it listen - look at MapperListener for an example. I'm not very familiar with your impl - I assume each instance in a cluster has an ID. I hope this ID is in sync with the jvm-route and the JMX domain :-) ( i.e. it is the Engine name ) Costin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-servletapi-5/jsr152/examples/xml xml.html xml.txt
kinman 2003/03/20 17:53:50 Modified:jsr152 build.xml jsr152/examples/cal calendar.html jsr152/examples/checkbox cresult.html jsr152/examples/colors clr.html jsr152/examples/dates date.html jsr152/examples/error er.html jsr152/examples/forward fwd.html jsr152/examples/include inc.html jsr152/examples/jsp2/el basic-arithmetic.html basic-comparisons.html functions.html implicit-objects.html jsr152/examples/jsp2/jspattribute jspattribute.html shuffle.html jsr152/examples/jsp2/misc config.html dynamicattrs.html jsr152/examples/jsp2/simpletag book.html hello.html repeat.html jsr152/examples/jsp2/tagfiles hello.html panel.html products.html jsr152/examples/jsptoserv jts.html jsr152/examples/num numguess.html jsr152/examples/plugin plugin.html jsr152/examples/sessions crt.html jsr152/examples/simpletag foo.html jsr152/examples/snp snoop.html jsr152/examples/xml xml.html Removed: jsr152/examples/cal Entries.txt Entry.txt JspCalendar.txt TableBean.txt cal1.txt cal2.txt jsr152/examples/checkbox checkresult.txt jsr152/examples/colors colors.txt jsr152/examples/dates date.txt jsr152/examples/error err.txt jsr152/examples/forward forward.txt jsr152/examples/include include.txt jsr152/examples/jsp2/el basic-arithmetic.txt basic-comparisons.txt functions.txt implicit-objects.txt jsr152/examples/jsp2/jspattribute HelloWorldSimpleTag.java.txt jspattribute.txt shuffle.txt jsr152/examples/jsp2/misc coda.jspf.txt config.txt dynamicattrs.txt prelude.jspf.txt jsr152/examples/jsp2/simpletag book.txt hello.txt repeat.txt jsr152/examples/jsp2/tagfiles displayProducts.tag.txt hello.txt helloWorld.tag.txt panel.tag.txt panel.txt products.txt jsr152/examples/jsptoserv jts.txt stj.txt jsr152/examples/num numguess.txt jsr152/examples/plugin plugin.txt jsr152/examples/sessions carts.txt jsr152/examples/simpletag foo.txt jsr152/examples/snp snoop.txt jsr152/examples/xml xml.txt Log: - Patch by Jan Luehe Remove redundant files. Revision ChangesPath 1.6 +41 -0 jakarta-servletapi-5/jsr152/build.xml Index: build.xml === RCS file: /home/cvs/jakarta-servletapi-5/jsr152/build.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- build.xml 10 Feb 2003 23:50:28 - 1.5 +++ build.xml 21 Mar 2003 01:53:48 - 1.6 @@ -142,6 +142,23 @@ mapper type=glob from=*.java to=*.java.txt/ /copy +copy todir=${jsp-api.build}/examples/cal + fileset dir=examples/WEB-INF/classes/cal +include name=Entries.java/ +include name=Entry.java/ +include name=JspCalendar.java/ +include name=TableBean.java/ + /fileset + mapper type=glob from=*.java to=*.java.txt/ +/copy + +copy todir=${jsp-api.build}/examples/jsptoserv + fileset dir=examples/WEB-INF/classes +include name=servletToJsp.java/ + /fileset + mapper type=glob from=*.java to=*.java.txt/ +/copy + copy todir=${jsp-api.build}/examples/jsp2/el fileset dir=examples/WEB-INF/classes/jsp2/examples/el include name=Functions.java/ @@ -154,6 +171,30 @@ include name=EchoAttributesTag.java/ /fileset mapper type=glob from=*.java to=*.java.txt/ +/copy + +copy todir=${jsp-api.build}/examples/jsp2/tagfiles + fileset dir=examples/WEB-INF/tags/ + mapper type=glob from=*.tag to=*.tag.txt/ +/copy + +copy todir=${jsp-api.build}/examples + fileset dir=examples +exclude name=error/errorpge.jsp/ +exclude name=forward/one.jsp/ +exclude name=include/foo.jsp/ +exclude name=jsptoserv/hello.jsp/ +exclude name=security/protected/error.jsp/ +exclude name=security/protected/index.jsp/ +exclude name=security/protected/login.jsp/ +exclude name=source.jsp/ + /fileset + mapper type=glob from=*.jsp to=*.jsp.txt/ +/copy + +copy todir=${jsp-api.build}/examples + fileset
RE: Cluster wide deployment, question
What do you mean ? When an app is deployed on one host in the cluster do you plan to copy it to all instances ? exactly, imagine the benefit of companies running 10 tomcat instances. You can do that by creating an mbean and having it listen - look at MapperListener for an example. will do, sounds like good way to go. I'm not very familiar with your impl - I assume each instance in a cluster has an ID. I hope this ID is in sync with the jvm-route and the JMX domain as for now, it doesn't really care about jvmroute and all the other good stuff since it is an all to all cluster. Since all cluster nodes have the same state, it doesn't matter where the load balancer redirects it. so you could have sticky session load balancing, or a per request round robin. Once we do more efficient clustering ie primary and secondary state holders, then we need to coordinate a way to load balance around that. Filip -Original Message- From: news [mailto:[EMAIL PROTECTED] Behalf Of Costin Manolache Sent: Thursday, March 20, 2003 4:57 PM To: [EMAIL PROTECTED] Subject: Re: Cluster wide deployment, question Filip Hanik wrote: I'm about to implement cluster wide deployment. Who should initiate the call to deploy cluster wide, should it be the StandardHostDeployer or the manager servlet? What do you mean ? When an app is deployed on one host in the cluster do you plan to copy it to all instances ? In any case - the right way to do it is to listen for JMX registration events - that will tell you when a new webapp was registered in an instance, regardless of the method ( StandardHostDeployer, manager servlet, admin, other app calling methods directly ). You can do that by creating an mbean and having it listen - look at MapperListener for an example. I'm not very familiar with your impl - I assume each instance in a cluster has an ID. I hope this ID is in sync with the jvm-route and the JMX domain :-) ( i.e. it is the Engine name ) Costin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
domain-wide session cookies?
Under Tomcat-4 it looks like the session cookie is set in: org/apache/catalina/connector/HttpResponseBase.java and the code that sets it uses the default domain (which is equal to the request hostname.domain.tld) when it sets the session cookie. I need to set the cookie to be domain-wide, ie. .domain.tld however it seems silly to hardcode it in the above class. Before I tackle this: 0) is there a better way to do it? 1) if not, is this the right place to do it? 2) what is the best place (ie. where in server.xml) to put an option to enable this? Thanks, Adi - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core ContainerBase.java StandardContext.java
costin 2003/03/20 22:38:47 Modified:catalina/src/share/org/apache/catalina/core ContainerBase.java StandardContext.java Log: More work on reloading. It seems context can be stoped and started from the console, but when it starts again I get 404s. I suspect something related with the mapper. Remy - could you help me a bit ? Revision ChangesPath 1.13 +15 -24 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ContainerBase.java Index: ContainerBase.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ContainerBase.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- ContainerBase.java20 Mar 2003 18:28:28 - 1.12 +++ ContainerBase.java21 Mar 2003 06:38:47 - 1.13 @@ -309,6 +309,7 @@ */ protected boolean started = false; +protected boolean initialized=false; /** * The property change support for this component. @@ -828,6 +829,8 @@ private void addChildInternal(Container child) { +if( log.isDebugEnabled() ) +log.debug(Add child + child + + this); synchronized(children) { if (children.get(child.getName()) != null) throw new IllegalArgumentException(addChild: Child name ' + @@ -844,20 +847,6 @@ } } children.put(child.getName(), child); -if( child instanceof ContainerBase ) { -ContainerBase childCB=(ContainerBase)child; -// XXX we should also send JMX notifications -if( childCB.getObjectName() == null ) { -// child was not registered yet. -//ObjectName oname=childCB.createObjectName(this.getDomain(), -//this.getObjectName()); -//if( oname != null ) { -//// XXX Register the child -// -//} - -} -} fireContainerEvent(ADD_CHILD_EVENT, child); } @@ -1064,6 +1053,7 @@ return; children.remove(child.getName()); } + if (started (child instanceof Lifecycle)) { try { if( child instanceof ContainerBase ) { @@ -1077,16 +1067,10 @@ log.error(ContainerBase.removeChild: stop: , e); } } -if( child instanceof ContainerBase ) { -ContainerBase childCB=(ContainerBase)child; -// XXX we should also send JMX notifications -ObjectName oname=childCB.getObjectName(); -if( oname != null ) { -// XXX UnRegister the child -} -} + fireContainerEvent(REMOVE_CHILD_EVENT, child); -child.setParent(null); + +// child.setParent(null); } @@ -1313,6 +1297,11 @@ if (children[i] instanceof Lifecycle) ((Lifecycle) children[i]).stop(); } +// Remove children - so next start can work +children = findChildren(); +for (int i = 0; i children.length; i++) { +removeChild(children[i]); +} // Stop our Mappers, if any Mapper mappers[] = findMappers(); @@ -1390,7 +1379,8 @@ mserver.invoke(parentName, addChild, new Object[] { this }, new String[] {org.apache.catalina.Container}); } -} +} +initialized=true; } public ObjectName getParentName() throws MalformedObjectNameException { @@ -1401,6 +1391,7 @@ if( started ) { stop(); } +initialized=false; if (parent != null) { parent.removeChild(this); } 1.30 +21 -19 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java Index: StandardContext.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- StandardContext.java 20 Mar 2003 18:28:28 - 1.29 +++ StandardContext.java 21 Mar 2003 06:38:47 - 1.30 @@ -3754,6 +3754,13 @@ log.info(sm.getString(containerBase.alreadyStarted, logName())); return; } +if( !initialized ) { +try { +init(); +} catch(
DO NOT REPLY [Bug 18212] - CVS Build failed: Something are wrong with commons Registry api
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=18212. 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=18212 CVS Build failed: Something are wrong with commons Registry api [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||INVALID --- Additional Comments From [EMAIL PROTECTED] 2003-03-21 07:04 --- Please don't report build failures as bugs. Post a message on tomcat-dev instead. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Error to create the keystores
Hi. Can you perform requsts over SSL without client authentication? Is there a certificate installed in the browser signed by any root certificate in cacerts? Regards. jazorin wrote: Hi. I have a web server Tomcat 4.1.18 and it works fine. My problem is when I create the keystore tomcat of manual form. I have created two Java methods: addCertToKeyStore and addPKToKeyStore. I realize the following step to create my own keystore: - I add CA certificate in JDK keystore: ($JAVA_HOME/jre/lib/security/cacerts). - I add Server certificate in Tomcat keystore: ($TOMCAT_HOME/conf/keystore). - I add Server private key in Tomcat keystore. These steps works fine (I don't obtain any error). When I open a connection in a navigator I obtain the following error: Can't show the page. Am I realizing some error to configure the keystores?? Regards. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core ContainerBase.java
costin 2003/03/20 23:33:14 Modified:catalina/src/share/org/apache/catalina/core ContainerBase.java Log: Bad typo. Revision ChangesPath 1.14 +3 -2 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ContainerBase.java Index: ContainerBase.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ContainerBase.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- ContainerBase.java21 Mar 2003 06:38:47 - 1.13 +++ ContainerBase.java21 Mar 2003 07:33:14 - 1.14 @@ -1372,9 +1372,10 @@ if( this.getParent() == null ) { // Life update ObjectName parentName=getParentName(); - + +//log.info(Register + parentName ); if( parentName != null -! mserver.isRegistered(parentName)) +mserver.isRegistered(parentName)) { mserver.invoke(parentName, addChild, new Object[] { this }, new String[] {org.apache.catalina.Container}); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardContext.java StandardEngine.java StandardHost.java
costin 2003/03/20 23:34:40 Modified:catalina/src/share/org/apache/catalina/core StandardContext.java StandardEngine.java StandardHost.java Log: Various fixes. Both embed and standalone are working again. Revision ChangesPath 1.31 +5 -2 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java Index: StandardContext.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- StandardContext.java 21 Mar 2003 06:38:47 - 1.30 +++ StandardContext.java 21 Mar 2003 07:34:39 - 1.31 @@ -3761,7 +3761,7 @@ throw new LifecycleException(Error initializaing , ex); } } - + String logName=tomcat. + getParent().getName() + . + (.equals(getName()) ? ROOT : getName()) + .Context; log=org.apache.commons.logging.LogFactory.getLog(logName); @@ -4783,6 +4783,9 @@ } ContextConfig config = new ContextConfig(); this.addLifecycleListener(config); + +mserver.invoke(parentName, addChild, new Object[] { this }, +new String[] {org.apache.catalina.Container}); } super.init(); } 1.8 +31 -19 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardEngine.java Index: StandardEngine.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardEngine.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- StandardEngine.java 19 Mar 2003 07:23:57 - 1.7 +++ StandardEngine.java 21 Mar 2003 07:34:39 - 1.8 @@ -71,6 +71,7 @@ import javax.servlet.http.HttpServletResponse; import javax.management.ObjectName; import javax.management.MBeanServer; +import javax.management.MalformedObjectNameException; import org.apache.catalina.Container; import org.apache.catalina.Context; import org.apache.catalina.DefaultContext; @@ -391,7 +392,25 @@ } if( service==null ) { -// for consistency... +try { +ObjectName serviceName=getParentName(); +if( mserver.isRegistered( serviceName )) { +log.info(Registering with the service ); +try { +mserver.invoke( serviceName, setContainer, +new Object[] { this }, +new String[] { org.apache.catalina.Container } ); +} catch( Exception ex ) { +ex.printStackTrace(); +} +} +} catch( Exception ex ) { +log.error(Error registering with service ); +} +} + +if( service==null ) { +// for consistency...: we are probably in embeded mode try { service=new StandardService(); service.initialize(); @@ -466,24 +485,17 @@ { super.preRegister(server,name); -// Register with the Service. XXX Do we really need a Service ?? -// BTW - the connector can go directly here. -ObjectName serviceName=new ObjectName(domain + -:type=Service,name=Tomcat-Standalone); -if( server.isRegistered( serviceName )) { -log.info(Registering with the service ); -try { -server.invoke( serviceName, setContainer, -new Object[] { this }, -new String[] { org.apache.catalina.Container } ); -} catch( Exception ex ) { -ex.printStackTrace(); -} -} +this.setName( name.getDomain()); return name; } +public ObjectName getParentName() throws MalformedObjectNameException { +ObjectName serviceName=new ObjectName(domain + +:type=Service); +return serviceName; +} + public ObjectName createObjectName(String domain, ObjectName parent) throws Exception { 1.8 +11 -1 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardHost.java Index: StandardHost.java === RCS file: