RE: cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core StandardPipeline.java
Hi Remy, I think the performance related change that you made to StandardPipeline can be improved upon in that it can avoid using a HashMap to store/retrieve the pipeline stage and instead simply store/retrieve it from an integer variable in the RequestBase class. Since this codepath (StandardPipeline.invokeNext) is executed many times per request, replacing the request.getNote() call with something like request.getPipelineStage() will benefit performance. I've attached a patch that implements this suggestion. Thanks, Arvind remm02/03/31 20:19:55 Modified:catalina/src/share/org/apache/catalina/core StandardPipeline.java Log: - Use a note in the request instead of a ThreadLocal to keep track of the pipeline stage. Note: This could cause problems with a valve that would wrap the request, and not delegate the getNote method to the wrapped request. Index: catalina/src/share/org/apache/catalina/Request.java === RCS file: /home/cvspublic/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Request.java,v retrieving revision 1.5 diff -u -r1.5 Request.java --- catalina/src/share/org/apache/catalina/Request.java 1 Aug 2001 03:04:04 - 1.5 +++ catalina/src/share/org/apache/catalina/Request.java 3 Apr 2002 08:40:02 - @@ -210,6 +210,22 @@ public void setWrapper(Wrapper wrapper); +/** + * Set the index of the (next) valve (in the pipeline) that will process + * this request. + * + * @param stage The position of the next valve (in the pipeline) + */ +public void setPipelineStage(int stage); + + +/** + * Return the index (in the pipeline) of the valve that is to process + * this request. + */ +public int getPipelineStage(); + + // - Public Methods Index: catalina/src/share/org/apache/catalina/connector/RequestBase.java === RCS file: /home/cvspublic/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/RequestBase.java,v retrieving revision 1.18 diff -u -r1.18 RequestBase.java --- catalina/src/share/org/apache/catalina/connector/RequestBase.java 18 Mar 2002 07:15:39 - 1.18 +++ catalina/src/share/org/apache/catalina/connector/RequestBase.java 3 Apr 2002 +08:40:02 - @@ -270,6 +270,13 @@ protected Wrapper wrapper = null; +/** + * The index (in the pipeline) of the valve that is processing/will + * process this request. + */ +protected int _stage = 0; + + // - Properties @@ -455,6 +462,26 @@ this.wrapper = wrapper; +} + + +/** + * Set the index of the (next) valve (in the pipeline) that will process + * this request. + * + * @param stage The position of the next valve (in the pipeline) + */ +public void setPipelineStage(int stage) { +_stage = stage; +} + + +/** + * Return the index (in the pipeline) of the valve that is to process + * this request. + */ +public int getPipelineStage() { +return _stage; } Index: catalina/src/share/org/apache/catalina/core/StandardPipeline.java === RCS file: /home/cvspublic/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardPipeline.java,v retrieving revision 1.5 diff -u -r1.5 StandardPipeline.java --- catalina/src/share/org/apache/catalina/core/StandardPipeline.java 1 Apr 2002 04:19:54 - 1.5 +++ catalina/src/share/org/apache/catalina/core/StandardPipeline.java 3 Apr 2002 +08:40:02 - @@ -100,12 +100,6 @@ implements Pipeline, Contained, Lifecycle, ValveContext { -// -- Constants - - -protected static final String STATE = pipelineState; - - // --- Constructors @@ -472,8 +466,9 @@ public void invoke(Request request, Response response) throws IOException, ServletException { -// Initialize the per-thread state for this thread -request.setNote(STATE, new PipelineState()); +// Indicate that the first valve in the pipeline should process +// this request +request.setPipelineStage(0); // Invoke the first Valve in this pipeline for this request invokeNext(request, response); @@ -561,10 +556,10 @@ public void invokeNext(Request request, Response response) throws IOException, ServletException { -// Identify the current subscript for the current request thread -PipelineState pipelineState = (PipelineState) request.getNote(STATE); -int subscript = pipelineState.stage; -
[PATCH] TC4.0 - Propagate Embedded's debug level to loaders it creates
Simple patch to o.a.c.startup.Embedded.java to propagate its debug level to Loaders that it creates. Arvind Index: Embedded.java === RCS file: /home/cvspublic/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Embedded.java,v retrieving revision 1.14 diff -u -r1.14 Embedded.java --- Embedded.java 9 Nov 2001 19:40:44 - 1.14 +++ Embedded.java 3 Apr 2002 00:31:28 - @@ -653,6 +653,7 @@ parent + '); WebappLoader loader = new WebappLoader(parent); +loader.setDebug(debug); return (loader); } -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 7714] New: - java.net.SocketException: Connection reset by peer: socket write error
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=7714. 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=7714 java.net.SocketException: Connection reset by peer: socket write error Summary: java.net.SocketException: Connection reset by peer: socket write error Product: Tomcat 4 Version: 4.0.3 Final Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Normal Priority: Other Component: Connector:Coyote AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] recently upgrade to jdk1.4 and tomcat 4.03, after suffering from IllegalStateExceptions, i was advised to upgrade the http connector to the new coyote http connector. Now i seem be be getting the following exception fairly often java.net.SocketException: Connection reset by peer: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:126) at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite (InternalOutputBuffer.java:632) at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite (ChunkedOutputFilter.java:166) at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite (IdentityOutputFilter.java:160) at org.apache.coyote.http11.InternalOutputBuffer.doWrite (InternalOutputBuffer.java:505) at org.apache.coyote.Response.doWrite(Response.java:466) at org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes (OutputBuffer.java:380) at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:360) at org.apache.coyote.tomcat4.OutputBuffer.flush(OutputBuffer.java:344) at org.apache.coyote.tomcat4.OutputBuffer.close(OutputBuffer.java:321) at org.apache.coyote.tomcat4.CoyoteWriter.close(CoyoteWriter.java:115) at uk.co.kvw.unified.KCBaseServlet.doPageFooter(KCBaseServlet.java:178) at uk.co.kvw.unified.KCBaseServlet.doPageFooter(KCBaseServlet.java:167) at uk.co.kvw.unified.KCEditMiscSettingsServlet.doGet (KCEditMiscSettingsServlet.java:217) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:190) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:566) at org.apache.catalina.valves.CertificatesValve.invoke (CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke (StandardContext.java:2343) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke (ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:564) at org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:468) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke
DO NOT REPLY [Bug 7714] - java.net.SocketException: Connection reset by peer: socket write error
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=7714. 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=7714 java.net.SocketException: Connection reset by peer: socket write error [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||WONTFIX --- Additional Comments From [EMAIL PROTECTED] 2002-04-03 11:33 --- You can ignore it. The latest code should log a lot less of these, and I'll try to remove them eventually (but the idea is not to filter out useful exceptions in the process). -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Whats equivalent to server.htmlencode(ASP) in jsp *** PLZ Response
It is simple to write equivalent to Server.HTMLEncode FUNCTION in java but is there is any thing equivalent to Server.HTMLEncode in JSP. PLZ Response __ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Unsubscribing
I'd be happy to volunteer I already run wiserlabz completely alone. If I could find someone in charge I and I'm sure others would be happy to do it. Personally I'm not a programmer, I try to help with what I can. Going on to quality software... if we can't make our own listserv work, how would you propose to sell it... I'm not trying to start a war, but these are re-ocurring issues... I had a heck of a time opting IN to many lists, I would guess then that 8 out of 10 people are NOT going to go to the trouble I did to figure out WHY they couldn't It is OUR LOSS Point ME in the RIGHT direction with a REAL contact. todd http://www.wiserlabz.com collaborative effort to promote Novell and Open Source solutions Pier Fumagalli wrote: todd tredeau [EMAIL PROTECTED] wrote: The failure of an organization usually begins with the little things this seems to be a recurring problem that is simple to fix why can't we fix it. Create a web page so people can manually over-ride the obviously flawed Opt - In / but Not out list.. You got time to do it? Then volunteer... Pier -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Unsubscribing
todd tredeau [EMAIL PROTECTED] wrote: I'd be happy to volunteer I already run wiserlabz completely alone. If I could find someone in charge I and I'm sure others would be happy to do it. Personally I'm not a programmer, I try to help with what I can. Going on to quality software... if we can't make our own listserv work, how would you propose to sell it... I'm not trying to start a war, but these are re-ocurring issues... I had a heck of a time opting IN to many lists, I would guess then that 8 out of 10 people are NOT going to go to the trouble I did to figure out WHY they couldn't It is OUR LOSS Point ME in the RIGHT direction with a REAL contact. I'm one of the _real_ contacts (as I manage the infrastructure for Jakarta's email)... Or simply write to [EMAIL PROTECTED] and propose a course of action... Pier -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 7700] - [PATCH] Anchors don't work when session tracking is handled by URL rewrite
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=7700. 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=7700 [PATCH] Anchors don't work when session tracking is handled by URL rewrite [EMAIL PROTECTED] changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|INVALID | --- Additional Comments From [EMAIL PROTECTED] 2002-04-03 13:53 --- According to RFC2396 (URI) it is broken and it doesn't currently work with Mozilla 0.9.4 (Linux) and with WAP devices. However, with the patch applied, it works with Mozilla/Linux combination. Or is my interpretation of RFC wrong? Cheers, [EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 7715] New: - Apache+mod_ssl+mod_jk cannot download a file in IE
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=7715. 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=7715 Apache+mod_ssl+mod_jk cannot download a file in IE Summary: Apache+mod_ssl+mod_jk cannot download a file in IE Product: Tomcat 4 Version: 4.0.3 Final Platform: Sun OS/Version: Solaris Status: NEW Severity: Major Priority: Other Component: Connector:JK/AJP AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] I have setup a Apache 1.3.24+mod_ssl+mod_jk. Everything worked fine until we used a servlet that fetches blob from mysql-database and puts the data to its outputstream. Without SSL it works fine, but when SSL is used IE wants to download (not open a .txt) and gives error 'cannot download..Internet Explorer was not able to open this site..'. I tried with IE versions 5.5SP2 and 6.0. With galeon or netscape downloading works great and they show files directly in browser. It seems that there is a problem in IE, but I cannot figure out what it is. At least it cannot get the Content-Type header which is set in servlet. I have tried several configuration directives in httpd.conf, but nothing makes difference. mod_ssl website gives directives to use with IE and all these were applied. Tomcat was upgraded to 4.03, but it did not help, also connector was originally mod_webapp but that didn't help. I upgraded from Apache 1.2.23+mod_ssl-2.8.7, but that didn't help either. regards, Antti Lehto -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 7717] New: - War lib classes load in 3.3.1 , no longer loads in 4.0.3
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=7717. 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=7717 War lib classes load in 3.3.1 , no longer loads in 4.0.3 Summary: War lib classes load in 3.3.1 , no longer loads in 4.0.3 Product: Tomcat 4 Version: 4.0.3 Final Platform: PC URL: http://www.hmravens.com/jspinspector/downloads/hmDebug.z ip OS/Version: Windows XP Status: NEW Severity: Major Priority: Other Component: Connector:Webapp AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] The zip referenced in the URL of this bug report contains a war file with xalan and xerces jars. In the 3.3.1 release of tomcat the war deploys properly and the application can be accessed via http://localhost:8080/hmdebug/jspinspector.html In 4.0.3 the page does not load and the log shows a NoClassDefFound error for javax/xml/transform/Source If I copy the xalan jars into the tomcat/lib directory in 4.0.3 the application loads and runs. This leads me to believe that there is a classloader problem with WEB-INF/lib jars. I was looking through the use groups and it appears that a few other people are also having similar problems. If you need a stack trace send me a note. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 7717] - War lib classes load in 3.3.1 , no longer loads in 4.0.3
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=7717. 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=7717 War lib classes load in 3.3.1 , no longer loads in 4.0.3 [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE --- Additional Comments From [EMAIL PROTECTED] 2002-04-03 14:26 --- *** This bug has been marked as a duplicate of 6374 *** -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 6374] - class not find for:org/w3c/dom/range/Range
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=6374. 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=6374 class not find for:org/w3c/dom/range/Range [EMAIL PROTECTED] changed: What|Removed |Added CC||[EMAIL PROTECTED] --- Additional Comments From [EMAIL PROTECTED] 2002-04-03 14:26 --- *** Bug 7717 has been marked as a duplicate of this bug. *** -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 7715] - Apache+mod_ssl+mod_jk cannot download a file in IE
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=7715. 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=7715 Apache+mod_ssl+mod_jk cannot download a file in IE --- Additional Comments From [EMAIL PROTECTED] 2002-04-03 14:30 --- TC4.0.2 and 4.0.3 has included a new cache expiration directives on role protected contexts. This mades IE to fail to download files. However this is an IE bug and not a TC bug. I've read that TC gurus will change this behavour and let the user configure the cache control headers sended. TC4.0.3 has a patch if you connect to the server via SSL (https protocol). Maybe connecting via SSL will solve your problem!!! I think this bug is a duplicate of other bug I cannot remember wich one was!!! Look also at bugs 6709 -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: FW: Unsubscribing
Perhaps you could set up a special mail address like [EMAIL PROTECTED] which would automatically reply to any message with detailed instructions on how to unsubscribe. The instructions would include work-arounds for all the gotcha problems you described below. If someone has been on a list for a year, it might be unreasonable to assume that they saved the unsubscribe instructions that they received when they first joined the list. Plus there may be new gotchas that come up which could be added to the auto-reply instructions. (I am assuming that the email that currently appears at the bottom of each tomcat list message doesn't send out unsubscribe instructions.) I haven't tried unsubscribing from the list. -Keith -Original Message- From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]] Sent: Tuesday, April 02, 2002 7:44 PM To: Tomcat Developers List Subject: Re: FW: Unsubscribing On Tue, 2 Apr 2002, todd tredeau wrote: Date: Tue, 02 Apr 2002 19:15:52 -0500 From: todd tredeau [EMAIL PROTECTED] Reply-To: Tomcat Developers List [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Subject: Re: FW: Unsubscribing The failure of an organization usually begins with the little things this seems to be a recurring problem that is simple to fix why can't we fix it. Create a web page so people can manually over-ride the obviously flawed Opt - In / but Not out list.. The top two reasons for problems (and this covers about 95% of the cases): * The user tries to unsubscribe from a different address than they subscribed with. * The user's mail server mangles the mail headers in such a way that the mailing list software cannot identify the subscription address. The confirmation message that subscribers get when they first sign on includes information about how to unsubscribe in spite of difficulties like the above, by including the address as part of the unsubscribe request. Alas, I guess it's too much to expect users to read the instructions :-). On the other hand, improving the administration of mailing lists is always possible. Concrete suggestions about what to do (and/or volunteering time to make it so) are more likely to cause positive change -- have you got a specific suggestion for what such a page should look like, and (more importantly) what it should functionally do? Or other ways to improve the initial subscription message to make this process more clear? todd http://www.wiserlabz.com collaborative effort to promote Novell and Open Source solutions Craig Mark Hogarth wrote: Please could you take me off the Developers mailing list. I have tried every way of unsubscribing from this but your unsubscribe software does not seem to work. Can someone write to me about this and tell me why it is not possible to unsubscribe? Please remove me. NOW. Best regards Mark Hogarth -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core StandardPipeline.java
Arvind Srinivasan wrote: I think the performance related change that you made to StandardPipeline can be improved upon in that it can avoid using a HashMap to store/retrieve the pipeline stage and instead simply store/retrieve it from an integer variable in the RequestBase class. Since this codepath (StandardPipeline.invokeNext) is executed many times per request, replacing the request.getNote() call with something like request.getPipelineStage() will benefit performance. I've attached a patch that implements this suggestion. The obvious implementation is to have have ValveContext hold the index. That's how I assumed it worked the first time I saw the Pipeline, Valve and ValveContext classes. I was suprised to see a ThreadLocal. Using ValveContext has the appropriate threading semantics, and it avoids hiding the index in a mystery attribute in the Request. And, (although none of this will result in a measurable performance gain) using ValveContext to hold the index should be faster, since it avoids a hashtable lookup. Using a Request note is much like using a global variable: it's hidden state. Long term that's bad, for obvious reasons. -- Christopher St. John [EMAIL PROTECTED] DistribuTopia http://www.distributopia.com -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 7700] - [PATCH] Anchors don't work when session tracking is handled by URL rewrite
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=7700. 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=7700 [PATCH] Anchors don't work when session tracking is handled by URL rewrite --- Additional Comments From [EMAIL PROTECTED] 2002-04-03 15:08 --- An example for those who still are suspicious http://jakarta.apache.org/site/news.html#0322.1 http://jakarta.apache.org/site/news.html?foo=bar#0322.1 ! http://jakarta.apache.org/site/news.html#0322.1?foo=bar -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Tyrex exception when using tomcat 4.0.4 (b1 and b2)
but if the tyrex guys are retired who's changed this in TC4.0.4? BTW what is DBCP? Kevin Jones Developmentor www.develop.com -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Lev Assinovsky Sent: 03 April 2002 09:08 To: Tomcat Developers List Subject: Re: Tyrex exception when using tomcat 4.0.4 (b1 and b2) Hi! I experienced the same problem. The matter is that TC 4.0.4bX has slightly modified org.apache.naming.factory.TyrexDataSourceFactory class. Old one returned EnabledDataSource (didn't work properly either), new one - ServerDataSource. I tried to complain to Tyrex guys, but seems they are retired (a year ago at least). That's why I switched to DBCP and happy now. Kevin Jones wrote: I've been using TC4 for a while now. I'm using the MS SQL Server JDBC drivers (and have been for a while), and install them as a resource in TC using the Tyrex JNDI implementation. In TC 4.0.3 everything works fine, however in TC 4.0.4 (b1 and b2) I get exceptions. I'm simply doing the following ctx = new javax.naming.InitialContext(); ds = (javax.sql.DataSource)ctx.lookup(java:comp/env/jdbc/WhitePages); conn = ds.getConnection(); conn.setAutoCommit(false); and I'm getting an exception java.sql.SQLException: Commit not supported in enlisted connections. at tyrex.jdbc.EnlistedConnection.commit(EnlistedConnection.java:154) at com.develop.ewebjava.lab.GetPessimistic.doGet(GetPessimistic.java:60) If I look at the class returned through getConnection I get this hierarchy tyrex.jdbc.EnlistedConnection tyrex.jdbc.AbstractTyrexConnectionImpl java.lang.Object and for the interface hierarchy java.sql.Connection tyrex.tm.EnlistedResource If I run the same code in TC 4.03 then it all works fine and the class hierarchy looks like this com.microsoft.jdbc.sqlserver.SQLServerConnection com.microsoft.jdbc.base.BaseConnection java.lang.Object so it looks like tyrex in 4.0.4 is wrapping the JDBC connection with its own class. There is no change to the tyrex.jar file, however the TyrexDataSourceFactory and TyrexTransactionFactory classes in TC/lib/naming-factory.jar have changed. I've just added this into Bugzilla, although I'm not sure it's a bug (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7693). If anybody could say 'do this' and it would fix the problem I'd be grateful, Kevin Jones Developmentor www.develop.com -- To unsubscribe, e-mail: mailto:tomcat-dev- [EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- Lev AssinovskyPeterlink Web Programmer St. Petersburg, Russia Tel/Fax: +7 812 3275343 197022 ul.Chapigina 7Á E-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:tomcat-dev- [EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Tyrex exception when using tomcat 4.0.4 (b1 and b2)
but if the tyrex guys are retired who's changed this in TC4.0.4? I did, because the other connection type is not pooled, among many things. I can revert the changes if it is a bad idea. BTW what is DBCP? From the commons. It will be used in the next Tomcat, as it is a lot easier to use and configure (in addition to the maintenace and visibility problems Tyrex has). Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Tyrex exception when using tomcat 4.0.4 (b1 and b2)
I did, because the other connection type is not pooled, among many things. I can revert the changes if it is a bad idea. It's only bad because it breaks my code :-) The code I'm using is (I think) very common, I'm simply turning autocommit off. Now, I know that in a managed environment I wouldn't do that, but as Tomcat doesn't have a Transaction Manager I can't see any other way to do my own transaction management. Unless anybody shouts loudly (and can show me how to do TXs with JDBC under Tomcat) I'd love to see the change reverted. From the commons. It will be used in the next Tomcat, as it is a lot easier to use and configure (in addition to the maintenace and visibility problems Tyrex has). Excellent - which version of Tomcat is this going to be in (4.1?). Thanks for the response, Kevin Jones Developmentor www.develop.com -Original Message- From: Remy Maucherat [mailto:[EMAIL PROTECTED]] Sent: 03 April 2002 16:17 To: Tomcat Developers List Subject: Re: Tyrex exception when using tomcat 4.0.4 (b1 and b2) but if the tyrex guys are retired who's changed this in TC4.0.4? BTW what is DBCP? Remy -- To unsubscribe, e-mail: mailto:tomcat-dev- [EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4 CoyoteProcessor.java CoyoteRequest.java
remm02/04/03 07:57:11 Modified:coyote/src/java/org/apache/coyote/tomcat4 CoyoteProcessor.java CoyoteRequest.java Log: - Implement getRemoteHost and getRemoteAddr (unfortunate omission caused by the fact that I always test with a local client). - Uses Bill's idea of only doing the lookup once per connection. Revision ChangesPath 1.19 +7 -5 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteProcessor.java Index: CoyoteProcessor.java === RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteProcessor.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- CoyoteProcessor.java 31 Mar 2002 23:37:37 - 1.18 +++ CoyoteProcessor.java 3 Apr 2002 15:57:11 - 1.19 @@ -1,6 +1,6 @@ -/* * $Header: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteProcessor.java,v 1.18 2002/03/31 23:37:37 remm Exp $ - * $Revision: 1.18 $ - * $Date: 2002/03/31 23:37:37 $ +/* * $Header: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteProcessor.java,v 1.19 2002/04/03 15:57:11 remm Exp $ + * $Revision: 1.19 $ + * $Date: 2002/04/03 15:57:11 $ * * * @@ -120,7 +120,7 @@ * * @author Craig R. McClanahan * @author Remy Maucherat - * @version $Revision: 1.18 $ $Date: 2002/03/31 23:37:37 $ + * @version $Revision: 1.19 $ $Date: 2002/04/03 15:57:11 $ */ final class CoyoteProcessor @@ -387,7 +387,6 @@ protected void postParseRequest(Request req, Response res) throws IOException { -request.setSocket(socket); request.setSecure(connector.getSecure()); req.scheme().setString(connector.getScheme()); @@ -805,6 +804,9 @@ * @param socket The socket on which we are connected to the client */ private void process(Socket socket) { + +// Set socket +request.setSocket(socket); InputStream input = null; OutputStream output = null; 1.15 +33 -8 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java Index: CoyoteRequest.java === RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- CoyoteRequest.java28 Mar 2002 03:41:53 - 1.14 +++ CoyoteRequest.java3 Apr 2002 15:57:11 - 1.15 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java,v 1.14 2002/03/28 03:41:53 remm Exp $ - * $Revision: 1.14 $ - * $Date: 2002/03/28 03:41:53 $ + * $Header: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java,v 1.15 2002/04/03 15:57:11 remm Exp $ + * $Revision: 1.15 $ + * $Date: 2002/04/03 15:57:11 $ * * * @@ -70,6 +70,7 @@ import java.io.IOException; import java.io.BufferedReader; import java.io.UnsupportedEncodingException; +import java.net.InetAddress; import java.net.Socket; import java.security.AccessController; import java.security.Principal; @@ -122,7 +123,7 @@ * * @author Remy Maucherat * @author Craig R. McClanahan - * @version $Revision: 1.14 $ $Date: 2002/03/28 03:41:53 $ + * @version $Revision: 1.15 $ $Date: 2002/04/03 15:57:11 $ */ public class CoyoteRequest @@ -355,6 +356,18 @@ private StringParser parser = new StringParser(); +/** + * Remote address. + */ +protected String remoteAddr = null; + + +/** + * Remote host. + */ +protected String remoteHost = null; + + // - Public Methods @@ -364,8 +377,6 @@ */ public void recycle() { -socket = null; - context = null; wrapper = null; @@ -543,6 +554,8 @@ */ public void setSocket(Socket socket) { this.socket = socket; +remoteHost = null; +remoteAddr = null; } @@ -1002,7 +1015,11 @@ * Return the remote IP address making this Request. */ public String getRemoteAddr() { -return coyoteRequest.remoteAddr().toString(); +if (remoteAddr == null) { +InetAddress inet = socket.getInetAddress(); +remoteAddr = inet.getHostAddress(); +} +
DO NOT REPLY [Bug 7723] New: - [patch] additional factory for org.apache.naming.factory package
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=7723. 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=7723 [patch] additional factory for org.apache.naming.factory package Summary: [patch] additional factory for org.apache.naming.factory package Product: Tomcat 4 Version: Unknown Platform: All OS/Version: All Status: NEW Severity: Enhancement Priority: Other Component: Catalina AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] i have a resource factory for resource objects that reference 'public static final' constants in classes that i would like to contribute to the org.apache.naming.factory package. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 7723] - [patch] additional factory for org.apache.naming.factory package
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=7723. 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=7723 [patch] additional factory for org.apache.naming.factory package --- Additional Comments From [EMAIL PROTECTED] 2002-04-03 16:20 --- Created an attachment (id=1470) the javax.naming.spi.ObjectFactory impl. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 7725] New: - IllegalStateException during forwards to a page that redirects
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=7725. 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=7725 IllegalStateException during forwards to a page that redirects Summary: IllegalStateException during forwards to a page that redirects Product: Tomcat 4 Version: 4.0.4 Beta 2 Platform: All OS/Version: All Status: NEW Severity: Critical Priority: Other Component: Unknown AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] CC: [EMAIL PROTECTED] The following exception trace will appear in the catalina logs. 2002-04-03 09:58:49 HttpProcessor[8080][49] process.finish java.lang.IllegalStateException: Current state = FLUSHED, new state = CODING_END at java.nio.charset.CharsetEncoder.throwIllegalStateException(CharsetEncoder.java:933) at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:529) at sun.nio.cs.StreamEncoder$CharsetSE.flushLeftoverChar(StreamEncoder.java:356) at sun.nio.cs.StreamEncoder$CharsetSE.implClose(StreamEncoder.java:413) at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:158) at java.io.OutputStreamWriter.close(OutputStreamWriter.java:222) at java.io.PrintWriter.close(PrintWriter.java:137) at org.apache.catalina.connector.ResponseBase.finishResponse(ResponseBase.java:482) at org.apache.catalina.connector.HttpResponseBase.finishResponse(HttpResponseBase.java:237) at org.apache.catalina.connector.http.HttpResponseImpl.finishResponse(HttpResponseImpl.java:287) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1044) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1115) at java.lang.Thread.run(Thread.java:536) As far as I've been able to determine, this occurs when a filter or servlet forwards to a page that performs a redirect AND if the forwarding includes a response wrapper rather than the original response. For example, httpServletRequest.getRequestDispatcher( resourcePath ).forward( httpServletRequest, new MyServletResponse( httpServletResponse ) ); -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Jasper2
I am opening the discussion in [EMAIL PROTECTED], if you don't mind. I think there are others who may be interested in the topic. jasper2 is in jakarta-tomcat-jasper. You'll need to build jakarta-tomcat-4.0 first, and then jasper2. It just drops the jar files into tomcat build area. Ignore jasper34 in that branch. Be warned that jasper2 is still under development, so it's quality is not release product quality yet. Also, it generates pretty much the same code as tomcat 4.x, for now; so expect comparable performance. Of course we'll need to change that! :-) It's great that you are doing performance evaluation for different versions of tomcat. Can your jstl run in tc3 and tc4 without change? Can we separated performance attributed to containers as opposed to those attributed to jasper? For those jasper performance, how can we identify the most profitable improvements that we should do? - kin-man Date: Wed, 03 Apr 2002 07:29:32 -0500 From: peter lin [EMAIL PROTECTED] Subject: Jasper2 To: Kin-Man Chung [EMAIL PROTECTED] MIME-version: 1.0 Content-transfer-encoding: 7bit X-Accept-Language: en-US hi kin-man, I was planning on checking your latest jasper2 today/tomorrow and compare it against tc3.3 jasper and tc4.0.3 jasper. which branch should I check out to grab jasper 2. As part of my own research, I was planning on writing a complete dynamic website for managing personal photo-albums using scriptlets, beans and jstl. that way I have the same exact site implemented three different ways for performance evaluation. thanks peter Kin-Man Chung wrote: I plan to work on jasper performance, especially those related taglibs. But I want to clean up jasper first, before I tackle the performance. Are you convinced that tag pooling is the answer? First you have the cost of monitor locks; then you also need to go thru hashtable to find the tag from the pool (I assume that's how it works here), and this is cheaper than calling the tag constructor? Can you do some measurements? I think we should attack the iteration tags first. If we can move the loop invariants out of the loop, we would have solved the tag reuse problem. If you are interested in jasper performance, I'd be very glad to work together with you; but let make sure that jasper2 is stable first. Thanks. Date: Tue, 02 Apr 2002 11:37:35 -0500 From: peter lin [EMAIL PROTECTED] Subject: Jasper2 To: Kin-Man Chung [EMAIL PROTECTED] MIME-version: 1.0 Content-transfer-encoding: 7bit X-Accept-Language: en-US hi kin-man, I was planning on porting the tag pool in jasper 3.3 to tomcat 4, until someone mentioned you're working on jasper 2. Are you planning on adding tag pooling? if you are, I can help port the tag pooling to it. peter lin -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Jasper2
I don't mind. I plan on writing a clean site from scratch for doing the performance evaluation. The test pages I used to perform the previous tests will only work for tomcat 4.0. Which is why I plan on writing a new demo site from scratch for my own testing purposes. My existing test pages are far too complex to make fine grain analysis easy. Part my motivation for writing a test site using different techniques is to have well defined controls. This way I can isolate the performance using a log4j on the serverside and from JMeter. I have a personal photoalbum site, which is becoming un-manageable (too many pictures). Since I was going to re-write the site to dynamically build all the pages, I figured it was a good opportunity to use it as a test case. my plan is to have atleast 3 version of the site, since it's a simple site. All the vesion would be tested with logging turned on and off. This way I can calculate the time spent on each process and get a better idea of exactly how it runs. peter Kin-Man Chung wrote: I am opening the discussion in [EMAIL PROTECTED], if you don't mind. I think there are others who may be interested in the topic. jasper2 is in jakarta-tomcat-jasper. You'll need to build jakarta-tomcat-4.0 first, and then jasper2. It just drops the jar files into tomcat build area. Ignore jasper34 in that branch. Be warned that jasper2 is still under development, so it's quality is not release product quality yet. Also, it generates pretty much the same code as tomcat 4.x, for now; so expect comparable performance. Of course we'll need to change that! :-) It's great that you are doing performance evaluation for different versions of tomcat. Can your jstl run in tc3 and tc4 without change? Can we separated performance attributed to containers as opposed to those attributed to jasper? For those jasper performance, how can we identify the most profitable improvements that we should do? - kin-man -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Jasper2
On Wed, 3 Apr 2002, Kin-Man Chung wrote: It's great that you are doing performance evaluation for different versions of tomcat. Can your jstl run in tc3 and tc4 without change? Can we separated performance attributed to containers as opposed to those attributed to jasper? For those jasper performance, how can we identify the most profitable improvements that we should do? Jasper is pretty easy to embed in a container - the current jasper4 depends on few servet2.3 calls, easy to substitute with old ones and make it run in 3.3. The only problem is 'disabling' the JSP1.2 functionality - i.e. have a setting to request it to throw exception if it detects a feature that shouldn't be used. This will be usefull for jsp1.3 as well - if you want to use a single codebase for all jsp versions. Costin - kin-man Date: Wed, 03 Apr 2002 07:29:32 -0500 From: peter lin [EMAIL PROTECTED] Subject: Jasper2 To: Kin-Man Chung [EMAIL PROTECTED] MIME-version: 1.0 Content-transfer-encoding: 7bit X-Accept-Language: en-US hi kin-man, I was planning on checking your latest jasper2 today/tomorrow and compare it against tc3.3 jasper and tc4.0.3 jasper. which branch should I check out to grab jasper 2. As part of my own research, I was planning on writing a complete dynamic website for managing personal photo-albums using scriptlets, beans and jstl. that way I have the same exact site implemented three different ways for performance evaluation. thanks peter Kin-Man Chung wrote: I plan to work on jasper performance, especially those related taglibs. But I want to clean up jasper first, before I tackle the performance. Are you convinced that tag pooling is the answer? First you have the cost of monitor locks; then you also need to go thru hashtable to find the tag from the pool (I assume that's how it works here), and this is cheaper than calling the tag constructor? Can you do some measurements? I think we should attack the iteration tags first. If we can move the loop invariants out of the loop, we would have solved the tag reuse problem. If you are interested in jasper performance, I'd be very glad to work together with you; but let make sure that jasper2 is stable first. Thanks. Date: Tue, 02 Apr 2002 11:37:35 -0500 From: peter lin [EMAIL PROTECTED] Subject: Jasper2 To: Kin-Man Chung [EMAIL PROTECTED] MIME-version: 1.0 Content-transfer-encoding: 7bit X-Accept-Language: en-US hi kin-man, I was planning on porting the tag pool in jasper 3.3 to tomcat 4, until someone mentioned you're working on jasper 2. Are you planning on adding tag pooling? if you are, I can help port the tag pooling to it. peter lin -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Jasper2
Kin-Man, I have a side question. I am looking for the documentation /comments on the Jasper compiler(jspc)-I have looked through the JspC.java but there are no comment about different compiler options. I wondering if you can point me in a right direction. Thank you. Leo -Original Message- From: Kin-Man Chung [mailto:[EMAIL PROTECTED]] Sent: Wednesday, April 03, 2002 12:58 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: Jasper2 I am opening the discussion in [EMAIL PROTECTED], if you don't mind. I think there are others who may be interested in the topic. jasper2 is in jakarta-tomcat-jasper. You'll need to build jakarta-tomcat-4.0 first, and then jasper2. It just drops the jar files into tomcat build area. Ignore jasper34 in that branch. Be warned that jasper2 is still under development, so it's quality is not release product quality yet. Also, it generates pretty much the same code as tomcat 4.x, for now; so expect comparable performance. Of course we'll need to change that! :-) It's great that you are doing performance evaluation for different versions of tomcat. Can your jstl run in tc3 and tc4 without change? Can we separated performance attributed to containers as opposed to those attributed to jasper? For those jasper performance, how can we identify the most profitable improvements that we should do? - kin-man Date: Wed, 03 Apr 2002 07:29:32 -0500 From: peter lin [EMAIL PROTECTED] Subject: Jasper2 To: Kin-Man Chung [EMAIL PROTECTED] MIME-version: 1.0 Content-transfer-encoding: 7bit X-Accept-Language: en-US hi kin-man, I was planning on checking your latest jasper2 today/tomorrow and compare it against tc3.3 jasper and tc4.0.3 jasper. which branch should I check out to grab jasper 2. As part of my own research, I was planning on writing a complete dynamic website for managing personal photo-albums using scriptlets, beans and jstl. that way I have the same exact site implemented three different ways for performance evaluation. thanks peter Kin-Man Chung wrote: I plan to work on jasper performance, especially those related taglibs. But I want to clean up jasper first, before I tackle the performance. Are you convinced that tag pooling is the answer? First you have the cost of monitor locks; then you also need to go thru hashtable to find the tag from the pool (I assume that's how it works here), and this is cheaper than calling the tag constructor? Can you do some measurements? I think we should attack the iteration tags first. If we can move the loop invariants out of the loop, we would have solved the tag reuse problem. If you are interested in jasper performance, I'd be very glad to work together with you; but let make sure that jasper2 is stable first. Thanks. Date: Tue, 02 Apr 2002 11:37:35 -0500 From: peter lin [EMAIL PROTECTED] Subject: Jasper2 To: Kin-Man Chung [EMAIL PROTECTED] MIME-version: 1.0 Content-transfer-encoding: 7bit X-Accept-Language: en-US hi kin-man, I was planning on porting the tag pool in jasper 3.3 to tomcat 4, until someone mentioned you're working on jasper 2. Are you planning on adding tag pooling? if you are, I can help port the tag pooling to it. peter lin -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Jasper2
I am opening the discussion in [EMAIL PROTECTED], if you don't mind. I think there are others who may be interested in the topic. jasper2 is in jakarta-tomcat-jasper. You'll need to build jakarta-tomcat-4.0 first, and then jasper2. It just drops the jar files into tomcat build area. Ignore jasper34 in that branch. Be warned that jasper2 is still under development, so it's quality is not release product quality yet. Also, it generates pretty much the same code as tomcat 4.x, for now; so expect comparable performance. Of course we'll need to change that! :-) Actually, I've already done the optimization for the runtime and it is very significant for simple pages (see my commits last week); when the page does run, it does it very fast now. There's no hotspot left in the runtime (according to OptimizeIt; of course, it won't help taglibs reuse in any way), the rest is up to the compiler. I had problems with the new compiler / runtime environment though (for ex, the include example doesn't work, and the admin webapp can't compile), so it's not ready yet. It's great that you are doing performance evaluation for different versions of tomcat. Can your jstl run in tc3 and tc4 without change? Can we separated performance attributed to containers as opposed to those attributed to jasper? For those jasper performance, how can we identify the most profitable improvements that we should do? I think I've done the part on the container improvements (at least, the additional tweaks won't bring any big performance increase now); the rest seems up to the compiler. Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Jspc documentation
Kin-Man, I have a side question. I am looking for the documentation /comments on the Jasper compiler(jspc)-I have looked through the JspC.java but there are no comment about different compiler options. I wondering if you can point me in a right direction. Thank you. Leo Hmm.. you are right, jspc documentation is hard to find. :-) The only thing I can find is jakarta-tomcat-4.0/jasper/doc/jspc.html. I just read it, and it's still pretty up to date. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Jasper2
Good for you, Remy! Actually, I've already done the optimization for the runtime and it is very significant for simple pages (see my commits last week); when the page does run, it does it very fast now. There's no hotspot left in the runtime (according to OptimizeIt; of course, it won't help taglibs reuse in any way), the rest is up to the compiler. Good for you, Remy! I had problems with the new compiler / runtime environment though (for ex, the include example doesn't work, and the admin webapp can't compile), so it's not ready yet. Like I said, it still needs work. I am going to run those in tester and watchdog to fix them all! :-) I think I've done the part on the container improvements (at least, the additional tweaks won't bring any big performance increase now); the rest seems up to the compiler. Remy Tomcat 4 is still significantly slower than tomcat 3, based on some performance tests Prasad ran. Is this because of the added support for the new servlet and jsp or what? -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Jasper2
I think I've done the part on the container improvements (at least, the additional tweaks won't bring any big performance increase now); the rest seems up to the compiler. Remy Tomcat 4 is still significantly slower than tomcat 3, based on some performance tests Prasad ran. Is this because of the added support for the new servlet and jsp or what? Lol. Actually, I contend that is definitely not the case, unless you forget to disable access logging (disabled by default in 3.x), and you also don't make sure you are really testing the same thing on both. Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
[Coyote] Coyote 1.0 Beta 5 available
Coyote 1.0 Beta 5 is now available, and includes: - A high performance HTTP/1.1 processor - An adapter for Tomcat 3.3.x - An adapter for Tomcat 4.0.x Changes over Beta 4 include: - Optimized host header parsing. - Add code to prevent filter loops. - Fix NPE with some header values. - Other small fixes. Binaries can be downloaded at: http://jakarta.apache.org/builds/jakarta-tomcat-connectors/coyote/release/v1 .0-b5/ Installation instructions for both 3.3.x and 4.0.x are given on the download page. The Tomcat 4 nighly builds already include this new connector. Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 7700] - [PATCH] Anchors don't work when session tracking is handled by URL rewrite
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=7700. 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=7700 [PATCH] Anchors don't work when session tracking is handled by URL rewrite [EMAIL PROTECTED] changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||WORKSFORME --- Additional Comments From [EMAIL PROTECTED] 2002-04-03 20:19 --- It has nothing to do with the RFC. Tomcat is simply putting the bits back on in the same order that it took them off. If they are coming out in the wrong order, then they came in in the wrong order. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java
amyroh 02/04/03 14:22:57 Modified:catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java Log: Change the MBean nomenclature for Valve. Revision ChangesPath 1.31 +13 -13 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java Index: MBeanUtils.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- MBeanUtils.java 22 Mar 2002 19:27:26 - 1.30 +++ MBeanUtils.java 3 Apr 2002 22:22:57 - 1.31 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v 1.30 2002/03/22 19:27:26 amyroh Exp $ - * $Revision: 1.30 $ - * $Date: 2002/03/22 19:27:26 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v 1.31 2002/04/03 22:22:57 amyroh Exp $ + * $Revision: 1.31 $ + * $Date: 2002/04/03 22:22:57 $ * * * @@ -109,7 +109,7 @@ * * @author Craig R. McClanahan * @author Amy Roh - * @version $Revision: 1.30 $ $Date: 2002/03/22 19:27:26 $ + * @version $Revision: 1.31 $ $Date: 2002/04/03 22:22:57 $ */ public class MBeanUtils { @@ -1183,15 +1183,15 @@ if (container instanceof Engine) { Service service = ((Engine)container).getService(); -name = new ObjectName(domain + :type=Valve,service= + - service.getName() + ,sequence= + - valve.hashCode()); +name = new ObjectName(domain + :type=Valve,sequence= + + valve.hashCode() + ,service= + + service.getName()); } else if (container instanceof Host) { Service service = ((Engine)container.getParent()).getService(); -name = new ObjectName(domain + :type=Valve,host= + +name = new ObjectName(domain + :type=Valve,sequence= + + valve.hashCode() + ,host= + container.getName() + ,service= + - service.getName() + ,sequence= + - valve.hashCode()); + service.getName() ); } else if (container instanceof Context) { String path = ((Context)container).getPath(); if (path.length() 1) { @@ -1199,11 +1199,11 @@ } Host host = (Host) container.getParent(); Service service = ((Engine) host.getParent()).getService(); -name = new ObjectName(domain + :type=Valve,path= + +name = new ObjectName(domain + :type=Valve,sequence= + + valve.hashCode() + ,path= + path + ,host= + host.getName() + ,service= + - service.getName() + ,sequence= + - valve.hashCode()); + service.getName()); } return (name); -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector SaveConnectorAction.java
manveen 02/04/03 14:25:43 Added: webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector SaveConnectorAction.java Log: Added implementation for add and edit connector actions. Revision ChangesPath 1.1 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java Index: SaveConnectorAction.java === /* * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java,v 1.1 2002/04/03 22:25:43 manveen Exp $ * $Revision: 1.1 $ * $Date: 2002/04/03 22:25:43 $ * * * * The Apache Software License, Version 1.1 * * Copyright (c) 2001-2002 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright *notice, this list of conditions and the following disclaimer in *the documentation and/or other materials provided with the *distribution. * * 3. The end-user documentation included with the redistribution, if *any, must include the following acknowlegement: * This product includes software developed by the *Apache Software Foundation (http://www.apache.org/). *Alternately, this acknowlegement may appear in the software itself, *if and wherever such third-party acknowlegements normally appear. * * 4. The names The Jakarta Project, Struts, and Apache Software *Foundation must not be used to endorse or promote products derived *from this software without prior written permission. For written *permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called Apache *nor may Apache appear in their names without prior written *permission of the Apache Group. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * http://www.apache.org/. * */ package org.apache.webapp.admin.connector; import java.net.URLEncoder; import java.util.Iterator; import java.util.Locale; import java.io.IOException; import javax.management.Attribute; import javax.management.MBeanServer; import javax.management.MBeanServerFactory; import javax.management.QueryExp; import javax.management.Query; import javax.management.ObjectInstance; import javax.management.ObjectName; import javax.management.JMException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.Action; import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.util.MessageResources; import org.apache.webapp.admin.ApplicationServlet; import org.apache.webapp.admin.TomcatTreeBuilder; import org.apache.webapp.admin.TreeControl; import org.apache.webapp.admin.TreeControlNode; /** * The codeAction/code that completes emAdd Connector/em and * emEdit Connector/em transactions. * * @author Manveen Kaur * @version $Revision: 1.1 $ $Date: 2002/04/03 22:25:43 $ */ public final class SaveConnectorAction extends Action { //
cvs commit: jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector ConnectorForm.java
manveen 02/04/03 14:27:22 Modified:webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector ConnectorForm.java Log: added service name to connector form. Revision ChangesPath 1.4 +28 -4 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorForm.java Index: ConnectorForm.java === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorForm.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ConnectorForm.java3 Apr 2002 00:27:30 - 1.3 +++ ConnectorForm.java3 Apr 2002 22:27:22 - 1.4 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorForm.java,v 1.3 2002/04/03 00:27:30 manveen Exp $ - * $Revision: 1.3 $ - * $Date: 2002/04/03 00:27:30 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorForm.java,v 1.4 2002/04/03 22:27:22 manveen Exp $ + * $Revision: 1.4 $ + * $Date: 2002/04/03 22:27:22 $ * * * @@ -74,7 +74,7 @@ * Form bean for the connector page. * * @author Manveen Kaur - * @version $Revision: 1.3 $ $Date: 2002/04/03 00:27:30 $ + * @version $Revision: 1.4 $ $Date: 2002/04/03 22:27:22 $ */ public final class ConnectorForm extends ActionForm { @@ -92,6 +92,11 @@ private String objectName = null; /** + * The name of the service this connector belongs to. + */ +private String serviceName = null; + +/** * The text for the scheme. */ private String scheme = null; @@ -224,6 +229,25 @@ public void setObjectName(String objectName) { this.objectName = objectName; + +} + + /** + * Return the object name of the service this connector belongs to. + */ +public String getServiceName() { + +return this.serviceName; + +} + + +/** + * Set the object name of the Service this connector belongs to. + */ +public void setServiceName(String serviceName) { + +this.serviceName = serviceName; } -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core StandardPipeline.java
Christopher St. John wrote: The obvious implementation is to have have ValveContext hold the index. That's how I assumed it worked the first time I saw the Pipeline, Valve and ValveContext classes. I was suprised to see a ThreadLocal. Using ValveContext has the appropriate threading semantics, and it avoids hiding the index in a mystery attribute in the Request. And, (although none of this will result in a measurable performance gain) using ValveContext to hold the index should be faster, since it avoids a hashtable lookup. Using a Request note is much like using a global variable: it's hidden state. Long term that's bad, for obvious reasons. But isn't a ValveContext (Pipeline) shared across requests ? I think the stage has to be maintained in the Request object. -Arvind -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin ApplicationResources_en.properties ApplicationResources_es.properties
manveen 02/04/03 15:07:44 Modified:webapps/admin/WEB-INF/classes/org/apache/webapp/admin ApplicationResources_en.properties ApplicationResources_es.properties Log: Added connector related properties. Revision ChangesPath 1.39 +2 -1 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources_en.properties Index: ApplicationResources_en.properties === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources_en.properties,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- ApplicationResources_en.properties3 Apr 2002 00:27:30 - 1.38 +++ ApplicationResources_en.properties3 Apr 2002 23:07:44 - 1.39 @@ -75,7 +75,7 @@ actions.connectors.create=Create New Connector actions.connectors.delete=Delete This Connector actions.connectors.deletes=Delete Existing Connectors -actions.contconnectorsexts.edit=Edit Existing Connector +actions.connectors.edit=Edit Existing Connector actions.contexts.create=Create New Context actions.contexts.delete=Delete This Context actions.contexts.deletes=Delete Existing Contexts @@ -186,6 +186,7 @@ error.loaderName.bad=Invalid loader name {0} error.managerName.bad=Invalid manager name {0} error.connectorName.bad=Invalid connector name {0} +error.connectorName.exists=liConnector already exists/li realm.driver=Database Driver realm.passwd=Database Password realm.url=Database URL 1.34 +2 -1 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources_es.properties Index: ApplicationResources_es.properties === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources_es.properties,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- ApplicationResources_es.properties3 Apr 2002 00:27:30 - 1.33 +++ ApplicationResources_es.properties3 Apr 2002 23:07:44 - 1.34 @@ -75,7 +75,7 @@ actions.connectors.create=Crear Nuevo Connector actions.connectors.delete=Eliminar este Context actions.connectors.deletes=Eliminar Conectores -actions.contconnectorsexts.edit=Corrija existente el connector +actions.connectors.edit=Corrija existente el connector actions.contexts.create=Crear Nuevo Context actions.contexts.delete=Eliminar este Context actions.contexts.deletes=Eliminar Contexts @@ -186,6 +186,7 @@ error.loaderName.bad=Invalido loader nombre {0} error.managerName.bad=Invalido manager nombre {0} error.connectorName.bad=Invalido connector nombre {0} +error.connectorName.exists=liConnector ya existe/li realm.driver=Database Driver realm.passwd=Database Password realm.url=Database URL -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector AddConnectorAction.java ConnectorForm.java EditConnectorAction.java
manveen 02/04/03 15:35:36 Modified:webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector ConnectorForm.java EditConnectorAction.java Added: webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector AddConnectorAction.java Log: Added implementation for addconnector. Add connector operation brings up a pull down list of supported connector types. Fields displayed depend on connector type. Revision ChangesPath 1.5 +34 -10 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorForm.java Index: ConnectorForm.java === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorForm.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- ConnectorForm.java3 Apr 2002 22:27:22 - 1.4 +++ ConnectorForm.java3 Apr 2002 23:35:35 - 1.5 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorForm.java,v 1.4 2002/04/03 22:27:22 manveen Exp $ - * $Revision: 1.4 $ - * $Date: 2002/04/03 22:27:22 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorForm.java,v 1.5 2002/04/03 23:35:35 manveen Exp $ + * $Revision: 1.5 $ + * $Date: 2002/04/03 23:35:35 $ * * * @@ -74,7 +74,7 @@ * Form bean for the connector page. * * @author Manveen Kaur - * @version $Revision: 1.4 $ $Date: 2002/04/03 22:27:22 $ + * @version $Revision: 1.5 $ $Date: 2002/04/03 23:35:35 $ */ public final class ConnectorForm extends ActionForm { @@ -188,10 +188,14 @@ /* * Represent boolean (true, false) values for enableLookups etc. - */ - + */ private List booleanVals = null; - + +/* + * Represent supported connector types. + */ +private List connectorTypeVals = null; + // - Properties /** @@ -588,6 +592,24 @@ } +/** + * Return the connectorTypeVals. + */ +public List getConnectorTypeVals() { + +return this.connectorTypeVals; + +} + +/** + * Set the connectorTypeVals. + */ +public void setConnectorTypeVals(List connectorTypeVals) { + +this.connectorTypeVals = connectorTypeVals; + +} + // - Public Methods /** @@ -675,9 +697,11 @@ } catch (Exception e) { errors.add(proxyName, new ActionError(error.proxyName.invalid)); } -} -// FIXME - depends on Connector type -// numberCheck(proxyPortText, proxyPortText, true, 0, 65535); +} + +// not supported by all connector types +if (CoyoteConnector.equalsIgnoreCase(connectorType)) +numberCheck(proxyPortText, proxyPortText, true, 0, 65535); } return errors; 1.2 +5 -7 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/EditConnectorAction.java Index: EditConnectorAction.java === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/EditConnectorAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- EditConnectorAction.java 3 Apr 2002 00:27:30 - 1.1 +++ EditConnectorAction.java 3 Apr 2002 23:35:35 - 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/EditConnectorAction.java,v 1.1 2002/04/03 00:27:30 manveen Exp $ - * $Revision: 1.1 $ - * $Date: 2002/04/03 00:27:30 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/EditConnectorAction.java,v 1.2 2002/04/03 23:35:35 manveen Exp $ + * $Revision: 1.2 $ + * $Date: 2002/04/03 23:35:35 $ * * * @@ -91,7 +91,7 @@ * The codeAction/code that sets up emEdit Connector/em transactions. * * @author Manveen Kaur - * @version $Revision: 1.1 $ $Date: 2002/04/03 00:27:30 $ + * @version $Revision: 1.2 $ $Date: 2002/04/03 23:35:35 $ */ public class EditConnectorAction
Re: Jasper2
[EMAIL PROTECTED] wrote: I had problems with the new compiler / runtime environment though (for ex, the include example doesn't work, and the admin webapp can't compile), so it's not ready yet. The include example is wrong in that it includes a page directive %@ page buffer=5 autoFlush=false % The spec says the value of a buffer attribute in the page directive should be suffixed with a mandatory kb. jasper2 just conforms the spec better. :) -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote Request.java
costin 02/04/03 15:55:05 Modified:coyote/src/java/org/apache/coyote Request.java Log: Added 4 more fields to Request. Let me know if you think they shouldn't be exposed, I can use notes. All are required to support non-http protocols ( i.e. ajp ) and reuse the same connector/interceptor and low level code. Revision ChangesPath 1.8 +35 -1 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/Request.java Index: Request.java === RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/Request.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- Request.java 11 Mar 2002 00:26:50 - 1.7 +++ Request.java 3 Apr 2002 23:55:05 - 1.8 @@ -178,6 +178,10 @@ protected Cookies cookies = new Cookies(headers); protected Parameters parameters = new Parameters(); +protected MessageBytes remoteUser=new MessageBytes(); +protected MessageBytes workerId=new MessageBytes(); +protected MessageBytes authType=new MessageBytes(); +protected Hashtable attributes=new Hashtable(); // - Properties @@ -201,7 +205,6 @@ return urlDecoder; } - // Request data @@ -358,6 +361,33 @@ } +// Other attributes +// We can use notes for most - need to discuss what is of general interest + +public void setAttribute( String name, Object o ) { +attributes.put( name, o ); +} + +public Hashtable getAttributes() { +return attributes; +} + +public Object getAttribute(String name ) { +return attributes.get(name); +} + +public MessageBytes getRemoteUser() { +return remoteUser; +} + +public MessageBytes getAuthType() { +return authType; +} + +public MessageBytes getWorkerId() { +return workerId; +} + // Input Buffer @@ -437,6 +467,10 @@ remoteAddrMB.setString(127.0.0.1); remoteHostMB.setString(localhost); +remoteUser.recycle(); +authType.recycle(); +workerId.recycle(); +attributes.clear(); } -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/server/tomcat40 JkRequest40.java Worker40.java
costin 02/04/03 15:56:08 Modified:jk/java/org/apache/jk/common HandlerRequest.java JkInputStream.java WorkerDummy.java jk/java/org/apache/jk/core MsgContext.java jk/java/org/apache/jk/server/tomcat33 JkRequest33.java Worker33.java jk/java/org/apache/jk/server/tomcat40 JkRequest40.java Worker40.java Log: Use Coyote Request insetead of the old BaseRequest. This is the first step in merging jk2 java with coyote, and removing the duplicated code. Revision ChangesPath 1.8 +21 -16 jakarta-tomcat-connectors/jk/java/org/apache/jk/common/HandlerRequest.java Index: HandlerRequest.java === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/common/HandlerRequest.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- HandlerRequest.java 27 Feb 2002 06:41:18 - 1.7 +++ HandlerRequest.java 3 Apr 2002 23:56:08 - 1.8 @@ -70,6 +70,8 @@ import org.apache.tomcat.util.http.*; import org.apache.tomcat.util.buf.*; +import org.apache.coyote.Request; +import org.apache.coyote.*; /** * Handle messages related with basic request information. @@ -391,9 +393,9 @@ throws IOException { // FORWARD_REQUEST handler -BaseRequest req=(BaseRequest)ep.getRequest(); +Request req=(Request)ep.getRequest(); if( req==null ) { -req=new BaseRequest(); +req=new Request(); ep.setRequest( req ); } @@ -422,18 +424,21 @@ req.setServerPort(msg.getInt()); boolean isSSL = msg.getByte() != 0; -if( isSSL ) req.setSecure( true ); +if( isSSL ) { +// XXX req.setSecure( true ); +req.scheme().setString(https); +} decodeHeaders( ep, msg, req, tmpMB ); decodeAttributes( ep, msg, req, tmpMB ); -if(req.getSecure() ) { -req.setScheme(req.SCHEME_HTTPS); -} +// if(req.getSecure() ) { +// req.setScheme(req.SCHEME_HTTPS); +// } // set cookies on request now that we have all headers -req.cookies().setHeaders(req.headers()); +req.getCookies().setHeaders(req.getMimeHeaders()); // Check to see if there should be a body packet coming along // immediately after @@ -450,7 +455,7 @@ return OK; } -private int decodeAttributes( MsgContext ep, Msg msg, BaseRequest req, +private int decodeAttributes( MsgContext ep, Msg msg, Request req, MessageBytes tmpMB) { boolean moreAttr=true; @@ -494,12 +499,12 @@ // ignore server msg.getBytes( tmpMB ); } else { -msg.getBytes(req.remoteUser()); +msg.getBytes(req.getRemoteUser()); } break; case SC_A_AUTH_TYPE: -msg.getBytes(req.authType()); +msg.getBytes(req.getAuthType()); break; case SC_A_QUERY_STRING : @@ -507,11 +512,11 @@ break; case SC_A_JVM_ROUTE: -msg.getBytes(req.jvmRoute()); +msg.getBytes(req.getWorkerId()); break; case SC_A_SSL_CERT : - req.setSecure( true ); + req.scheme().setString( https ); // Transform the string into certificate. msg.getBytes(tmpMB); String certString = tmpMB.toString(); @@ -537,14 +542,14 @@ break; case SC_A_SSL_CIPHER : - req.setSecure( true ); + req.scheme().setString( https ); msg.getBytes(tmpMB); req.setAttribute(javax.servlet.request.cipher_suite, tmpMB.toString()); break; case SC_A_SSL_SESSION : - req.setSecure( true ); + req.scheme().setString( https ); msg.getBytes(tmpMB); req.setAttribute(javax.servlet.request.ssl_session, tmpMB.toString()); @@ -564,10 +569,10 @@ return 200; } -private void decodeHeaders( MsgContext ep, Msg msg, BaseRequest req, +private void decodeHeaders( MsgContext ep, Msg msg, Request req, MessageBytes tmpMB ) { // Decode headers -
cvs commit: jakarta-tomcat-connectors/jk build.xml
costin 02/04/03 15:56:41 Modified:jk build.xml Log: Add coyote dep, call ant to build coyote and utils Revision ChangesPath 1.30 +25 -30jakarta-tomcat-connectors/jk/build.xml Index: build.xml === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/build.xml,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- build.xml 21 Feb 2002 00:13:45 - 1.29 +++ build.xml 3 Apr 2002 23:56:41 - 1.30 @@ -18,11 +18,13 @@ !-- default locations, overrident by properties -- property name=tomcat33.home - location=../../jakarta-tomcat/build/tomcat/lib/common/tomcat_core.jar / + location=../../jakarta-tomcat/build/tomcat/lib/common/tomcat_core.jar / property name=tomcat40.home location=../../jakarta-tomcat-4.0/build / property name=tomcat41.home location=../../jakarta-tomcat-4.1/build / +property name=coyote.home + location=../coyote/build / property name=commons-logging.jar location=../lib/commons-logging.jar / !-- Detection and reports -- @@ -91,8 +93,9 @@ pathelement location=${catalina.home}/server/lib/catalina.jar/ pathelement location=${catalina.home}/common/lib/servlet.jar/ pathelement location=${tomcat33.home}/lib/common/tomcat_core.jar/ -pathelement location=${commons-logging.jar}/ pathelement location=${tomcat33.home}/lib/common/core_util.jar/ +pathelement location=${jk.build}/WEB-INF/lib/tomcat-util.jar / +pathelement location=${commons-logging.jar}/ pathelement location=${tomcat33.home}/lib/container/tomcat_modules.jar/ !-- this is needed - otherwise tomcat33 connector will not compile. @@ -101,6 +104,7 @@ 3.3 classes. -- pathelement location=${tomcat33.home}/lib/container/tomcat_util.jar/ +pathelement location=${coyote.home}/lib/tomcat-coyote.jar/ /path /target @@ -109,18 +113,19 @@ depends=prepare,report,jkutil,jkjava,jkant / !-- Building -- - + target name=jkjava description=Build java side of the connector +echo message=Logging: ${commons-logging.jar} / javac srcdir=java -destdir=${jk.build}/WEB-INF/classes -deprecation=off -debug=${debug} -optimize=${optimize} -verbose=off - exclude name=org/apache/ajp/tomcat4/** unless=tomcat40.detect/ -exclude name=org/apache/ajp/tomcat33/** - unless=tomcat33.detect/ + destdir=${jk.build}/WEB-INF/classes + deprecation=off + debug=${debug} + optimize=${optimize} + verbose=off + exclude name=org/apache/ajp/tomcat4/** unless=tomcat40.detect/ + exclude name=org/apache/ajp/tomcat33/** + unless=tomcat33.detect/ exclude name=org/apache/jk/server/tomcat33/** unless=tomcat33.detect/ exclude name=org/apache/jk/server/tomcat40/** @@ -168,24 +173,14 @@ target name=jkutil description=Build utils - javac srcdir=../util/java -destdir=${jk.build}/WEB-INF/classes -debug=${debug} -optimize=${optimize} -verbose=off - /javac - - !-- Copy static resource files -- - copy todir=${jk.build}/WEB-INF/classes - fileset dir=../util/java - include name=**/*.properties/ - /fileset -/copy +ant dir=../util / +ant dir=../coyote / + +copy tofile=${jk.build}/WEB-INF/lib/tomcat-coyote.jar + file=../coyote/build/lib/tomcat-coyote.jar / +copy tofile=${jk.build}/WEB-INF/lib/tomcat-util.jar + file=../util/build/lib/tomcat-util.jar / - jar jarfile=${jk.build}/WEB-INF/lib/tomcat-util.jar - basedir=${jk.build}/WEB-INF/classes -include name=org/apache/tomcat/util/** / -/jar /target !-- It's better to call it directly with individual tags -- @@ -199,7 +194,7 @@ target name=install depends=prepare,build-main,install-t33,install-t40,install-t41,install-a20,install-a13 / -target name=install-t33 if=tomcat33.detect +target name=install-t33 if=tomcat33.detect description=Install in 3.3 mkdir dir=${tomcat33.home}/modules/jk / copy todir=${tomcat33.home}/modules/jk
cvs commit: jakarta-tomcat-4.0/webapps/examples/jsp/include include.jsp
kinman 02/04/03 16:05:34 Modified:webapps/examples/jsp/include include.jsp Log: - The value for the buffer attribute of a page directive needs the mandatory kb suffix, according to the spec. Revision ChangesPath 1.2 +1 -1 jakarta-tomcat-4.0/webapps/examples/jsp/include/include.jsp Index: include.jsp === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/examples/jsp/include/include.jsp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- include.jsp 17 Aug 2000 00:58:12 - 1.1 +++ include.jsp 4 Apr 2002 00:05:33 - 1.2 @@ -8,7 +8,7 @@ font color=red -%@ page buffer=5 autoFlush=false % +%@ page buffer=5kb autoFlush=false % pIn place evaluation of another JSP which gives you the current time: -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core StandardPipeline.java
Arvind Srinivasan wrote: Christopher St. John wrote: The obvious implementation is to have have ValveContext hold the index. But isn't a ValveContext (Pipeline) shared across requests ? It's shouldn't be, but it is now. StandardPipeline implements VavleContext, but there's no particular reason to do it that way. I think the stage has to be maintained in the Request object. No, definitely not. Here's how MinTC (MinimalTomcat) does it (this is alpha code, and I've deleted some of the methods to keep the size down): public class MinimalPipeline implements Pipeline { class MinimalValveContext implements ValveContext { protected int pos = 0; public void invokeNext(Request req, Response rsp) throws IOException, ServletException { Valve v = null; if (pos == valves.size()) v = basicValve; else v = (Valve)valves.elementAt(pos++); if (v!=null) v.invoke(req, rsp, this); } } protected Valve basicValve = null; protected Vector valves = new Vector(); protected Valve[] valve_array = null; protected Container container = null; public void invoke(Request req, Response rsp) throws IOException, ServletException { MinimalValveContext ctx = new MinimalValveContext(); ctx.invokeNext(req, rsp); } } -- Christopher St. John [EMAIL PROTECTED] DistribuTopia http://www.distributopia.com -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector ConnectorsForm.java DeleteConnectorAction.java DeleteConnectorForm.java DeleteConnectorsAction.java
manveen 02/04/03 16:38:20 Added: webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector ConnectorsForm.java DeleteConnectorAction.java DeleteConnectorForm.java DeleteConnectorsAction.java Log: Added files that implement delete /remove connectors through the admin tool. Revision ChangesPath 1.1 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorsForm.java Index: ConnectorsForm.java === /* * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorsForm.java,v 1.1 2002/04/04 00:38:19 manveen Exp $ * $Revision: 1.1 $ * $Date: 2002/04/04 00:38:19 $ * * * * The Apache Software License, Version 1.1 * * Copyright (c) 2002 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright *notice, this list of conditions and the following disclaimer in *the documentation and/or other materials provided with the *distribution. * * 3. The end-user documentation included with the redistribution, if *any, must include the following acknowlegement: * This product includes software developed by the *Apache Software Foundation (http://www.apache.org/). *Alternately, this acknowlegement may appear in the software itself, *if and wherever such third-party acknowlegements normally appear. * * 4. The names The Jakarta Project, Tomcat, and Apache Software *Foundation must not be used to endorse or promote products derived *from this software without prior written permission. For written *permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called Apache *nor may Apache appear in their names without prior written *permission of the Apache Group. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * http://www.apache.org/. * */ package org.apache.webapp.admin.connector; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; /** * Form bean for deleting connectors. * * @author Manveen Kaur * @version $Revision: 1.1 $ $Date: 2002/04/04 00:38:19 $ */ public class ConnectorsForm extends ActionForm { // - Properties /** * The object names of the connectors to be deleted. */ private String connectors[] = new String[0]; public String[] getConnectors() { return (this.connectors); } public void setConnectors(String connectors[]) { this.connectors = connectors; } // - Public Methods /** * Reset all properties to their default values. * * @param mapping The mapping used to select this instance * @param request The servlet request we are processing */ public void reset(ActionMapping mapping, HttpServletRequest request) { this.connectors = new String[0]; } } 1.1
cvs commit: jakarta-tomcat-4.0/webapps/admin/connector connectors.jsp connector.jsp
manveen 02/04/03 16:40:26 Modified:webapps/admin/connector connector.jsp Added: webapps/admin/connector connectors.jsp Log: Added jsp file that displays the list of connectors that can be deleted. Added a pulldown menu to choose type of connector to be added from the connector screen for a add new connector operation. Revision ChangesPath 1.3 +21 -4 jakarta-tomcat-4.0/webapps/admin/connector/connector.jsp Index: connector.jsp === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/connector/connector.jsp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- connector.jsp 3 Apr 2002 22:37:07 - 1.2 +++ connector.jsp 4 Apr 2002 00:40:26 - 1.3 @@ -44,8 +44,11 @@ controls:actions controls:action selected=true bean:message key=actions.available.actions/ /controls:action controls:action - /controls:action - %-- -controls:action url= bean:message key=actions.thisconnector.delete/ /controls:action +%-- +controls:action url='%= /DeleteConnector.do?select= + +URLEncoder.encode(thisObjectName) %' +bean:message key=actions.connectors.delete/ +/controls:action --% /controls:actions /div @@ -68,8 +71,22 @@ controls:row labelStyle=table-label-text dataStyle=table-normal-text controls:labelbean:message key=connector.type/:/controls:label controls:data - bean:write name=connectorForm property=scheme -scope=session/ + logic:equal name=connectorForm property=adminAction value=Create +html:select property=connectorType onchange=IA_jumpMenu('self',this) + bean:define id=connectorTypeVals name=connectorForm property=connectorTypeVals/ + html:options collection=connectorTypeVals property=value labelProperty=label/ +/html:select +/logic:equal +logic:equal name=connectorForm property=adminAction value=Edit + bean:write name=connectorForm property=connectorType scope=session/ +/logic:equal +/controls:data +/controls:row + +controls:row labelStyle=table-label-text dataStyle=table-normal-text +controls:labelbean:message key=connector.scheme/:/controls:label +controls:data + bean:write name=connectorForm property=scheme scope=session/ /controls:data /controls:row 1.1 jakarta-tomcat-4.0/webapps/admin/connector/connectors.jsp Index: connectors.jsp === !-- Standard Struts Entries -- %@ page language=java % %@ taglib uri=/WEB-INF/struts-bean.tld prefix=bean % %@ taglib uri=/WEB-INF/struts-html.tld prefix=html % %@ taglib uri=/WEB-INF/struts-logic.tld prefix=logic % %@ taglib uri=/WEB-INF/controls.tld prefix=controls % html:html locale=true %@ include file=../users/header.jsp % !-- Body -- body bgcolor=white !--Form -- html:errors/ html:form method=post action=/DeleteConnectors table width=100% border=0 cellspacing=0 cellpadding=0 tr bgcolor=7171A5 td width=81% div class=page-title-text align=left bean:message key=actions.connectors.delete/ /div /td td width=19% div align=right controls:actions controls:action selected=true bean:message key=actions.available.actions/ /controls:action controls:action - /controls:action /controls:actions /div /td /tr /table %@ include file=../buttons.jsp % br %-- Connectors List --% table class=back-table border=0 cellspacing=0 cellpadding=1 width=100% trtd table class=front-table border=1 cellspacing=0 cellpadding=0 width=100% tr class=header-row tddiv align=left class=table-header-text bean:message key=actions.delete/ /div/td tddiv align=left class=table-header-text bean:message key=host.name/ /div/td /tr logic:iterate name=connectorsList id=connector tr class=line-row tddiv align=left class=table-normal-textnbsp; html:multibox property=connectors
cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/common ChannelUn.java
costin 02/04/03 16:55:35 Modified:jk/java/org/apache/jk/common ChannelUn.java Log: Remove the custom log, use common-logging Revision ChangesPath 1.7 +20 -22 jakarta-tomcat-connectors/jk/java/org/apache/jk/common/ChannelUn.java Index: ChannelUn.java === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/common/ChannelUn.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ChannelUn.java6 Feb 2002 17:43:08 - 1.6 +++ ChannelUn.java4 Apr 2002 00:55:35 - 1.7 @@ -114,8 +114,8 @@ */ ep.setNote( socketNote, new Long( l ) ); -if(dL0 ) -d(Accepted socket + l ); +if( log.isDebugEnabled() ) +log.debug(Accepted socket + l ); } public void init() throws IOException { @@ -127,7 +127,7 @@ apr.initialize(); gPool=apr.poolCreate( 0 ); -if( dL 0 ) d( Create pool + gPool ); +if( log.isDebugEnabled() ) log.debug( Create pool + gPool ); File socketFile=new File( file ); if( socketFile.exists() ) { @@ -170,8 +170,8 @@ byte buf[]=msg.getBuffer(); int len=msg.getLen(); -if(dL 5 ) -d(send() + len + + buf[4] ); +if(log.isDebugEnabled() ) +log.debug(send() + len + + buf[4] ); Long s=(Long)ep.getNote( socketNote ); @@ -182,8 +182,8 @@ public int receive( Msg msg, MsgContext ep ) throws IOException { -if (dL 0) { -d(receive()); +if (log.isDebugEnabled()) { +log.debug(receive()); } byte buf[]=msg.getBuffer(); @@ -215,18 +215,18 @@ total_read = this.read(ep, buf, hlen, blen); if (total_read = 0) { -d(can't read body, waited # + blen); +log.warn(can't read body, waited # + blen); return -1; } if (total_read != blen) { - d( incomplete read, waited # + blen + + log.warn( incomplete read, waited # + blen + got only + total_read); return -2; } -if (dL 0) - d(receive: total read = + total_read); +if (log.isDebugEnabled()) + log.debug(receive: total read = + total_read); return total_read; } @@ -258,8 +258,8 @@ got=apr.unRead( gPool, s.longValue(), b, pos + offset, len - pos); -if (dL 5) { -d(reading # + b + + (b==null ? 0: b.length) + + +if (log.isDebugEnabled()) { +log.debug(reading # + b + + (b==null ? 0: b.length) + + offset + + len + got # + got); } // connection just closed by remote. @@ -286,8 +286,8 @@ /** Accept incoming connections, dispatch to the thread pool */ void acceptConnections() { -if( dL0 ) -d(Accepting ajp connections on + file); +if( log.isDebugEnabled() ) +log.debug(Accepting ajp connections on + file); while( running ) { try { MsgContext ep=this.createEndpoint(); @@ -304,8 +304,8 @@ /** Process a single ajp connection. */ void processConnection(MsgContext ep) { -if( dL 0 ) -d( New ajp connection ); +if( log.isDebugEnabled() ) +log.debug( New ajp connection ); try { MsgAjp recv=new MsgAjp(); while( running ) { @@ -321,11 +321,9 @@ ex.printStackTrace(); } } - -private static final int dL=10; -private static void d(String s ) { -System.err.println( ChannelUn: + s ); -} + +private static org.apache.commons.logging.Log log= +org.apache.commons.logging.LogFactory.getLog( ChannelUn.class ); } -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin ApplicationResources_en.properties ApplicationResources_es.properties
manveen 02/04/03 17:02:59 Modified:webapps/admin/WEB-INF/classes/org/apache/webapp/admin ApplicationResources_en.properties ApplicationResources_es.properties Log: Added valve related properties. Revision ChangesPath 1.40 +7 -2 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources_en.properties Index: ApplicationResources_en.properties === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources_en.properties,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- ApplicationResources_en.properties3 Apr 2002 23:07:44 - 1.39 +++ ApplicationResources_en.properties4 Apr 2002 01:02:59 - 1.40 @@ -101,11 +101,10 @@ actions.valves.create=Create New Valve actions.valves.delete=Delete This Valve actions.valves.deletes=Delete Valves -actions.thisconnector.delete=Delete This connector actions.alias.create=Create New Aliases actions.alias.delete=Delete Aliases -actions.thiscontext.delete=Delete This Context connector.type=Type +connector.scheme=Scheme connector.accept.count=Accept Count connector.connection.timeout=Connection Timeout connector.default.buffer=Default Buffer Size @@ -187,6 +186,8 @@ error.managerName.bad=Invalid manager name {0} error.connectorName.bad=Invalid connector name {0} error.connectorName.exists=liConnector already exists/li +error.valveName.bad=Invalid valve name {0} +error.valveName.exists=liValve already exists/li realm.driver=Database Driver realm.passwd=Database Password realm.url=Database URL @@ -208,6 +209,10 @@ realm.search=Search Subtrees realm.userPassword=User Password realm.userPattern=User Search pattern +valve.access.properties=Access Logger Properties +valve.request.properties=Request Filter Properties +valve.resolveHosts=Resolve Hosts +valve.class=Valve Class error.resource.required=liResource Name is required./li error.resource.javaprefix=liResource must have java: prefix./li error.pathName.required=liPath Name is required./li 1.35 +8 -3 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources_es.properties Index: ApplicationResources_es.properties === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources_es.properties,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- ApplicationResources_es.properties3 Apr 2002 23:07:44 - 1.34 +++ ApplicationResources_es.properties4 Apr 2002 01:02:59 - 1.35 @@ -73,7 +73,7 @@ actions.accesslogger.create=Crear Nuevo (Access Logger) Registrador de Acceso actions.accesslogger.delete=Eliminar (Access Logger) Registrador de Acceso actions.connectors.create=Crear Nuevo Connector -actions.connectors.delete=Eliminar este Context +actions.connectors.delete=Eliminar este Connector actions.connectors.deletes=Eliminar Conectores actions.connectors.edit=Corrija existente el connector actions.contexts.create=Crear Nuevo Context @@ -102,11 +102,10 @@ actions.valves.delete=Eliminar este V\u00e1lvula actions.valves.deletes=Eliminar V\u00e1lvulas actions.service.delete=Eliminar este servicio -actions.thisconnector.delete=Eliminar este conector actions.alias.create=Cree Los Nuevos Pseudonimos actions.alias.delete=Pseudonimos De la Cancelacion -actions.thiscontext.delete=Suprima Este Contexto connector.type=Tipo +connector.scheme=Scheme connector.accept.count=Valide La Cuenta connector.connection.timeout=Descanso De la Conexi\u00f3n connector.default.buffer=Tama\u00f1o por defecto del Buffer @@ -187,6 +186,8 @@ error.managerName.bad=Invalido manager nombre {0} error.connectorName.bad=Invalido connector nombre {0} error.connectorName.exists=liConnector ya existe/li +error.valveName.bad=Invalido valve nombre {0} +error.valveName.exists=liValve ya existe/li realm.driver=Database Driver realm.passwd=Database Password realm.url=Database URL @@ -208,6 +209,10 @@ realm.search=Search Subtrees realm.userPassword=Palabra de paso Del Utilizador realm.userPattern=User Search pattern +valve.access.properties=Propiedades del Access Logger +valve.request.properties=Propiedades del Request Filter +valve.resolveHosts=Resolve Hosts +valve.class=Clase de Valve error.resource.required=liSe requiere el nombre del recurso./li error.resource.javaprefix=liEl recurso debe tener prefijo de java:/li error.pathName.required=liSe requiere el nombre del path./li -- To unsubscribe, e-mail: mailto:[EMAIL
RE: cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core StandardPipeline.java
Christopher St. John wrote: No, definitely not. Here's how MinTC (MinimalTomcat) does it (this is alpha code, and I've deleted some of the methods to keep the size down): Thanks..I like MinTC's solution. Arvind -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler CommandLineCompiler.java JspReader.java Parser.java
kinman 02/04/03 18:34:01 Modified:jasper2/src/share/org/apache/jasper/compiler CommandLineCompiler.java JspReader.java Parser.java Log: - Handle quoted string %\ in scripting elements. Revision ChangesPath 1.2 +4 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/CommandLineCompiler.java Index: CommandLineCompiler.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/CommandLineCompiler.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- CommandLineCompiler.java 28 Mar 2002 18:46:15 - 1.1 +++ CommandLineCompiler.java 4 Apr 2002 02:34:01 - 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/CommandLineCompiler.java,v 1.1 2002/03/28 18:46:15 kinman Exp $ - * $Revision: 1.1 $ - * $Date: 2002/03/28 18:46:15 $ + * $Header: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/CommandLineCompiler.java,v 1.2 2002/04/04 02:34:01 kinman Exp $ + * $Revision: 1.2 $ + * $Date: 2002/04/04 02:34:01 $ * * The Apache Software License, Version 1.1 * @@ -189,7 +189,7 @@ return modifiedClassName.toString(); } -private static final String mangleChar(char ch) { +public static final String mangleChar(char ch) { if(ch == File.separatorChar) { ch = '/'; 1.2 +37 -0 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspReader.java Index: JspReader.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspReader.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- JspReader.java28 Mar 2002 18:46:16 - 1.1 +++ JspReader.java4 Apr 2002 02:34:01 - 1.2 @@ -280,6 +280,43 @@ return caw.toCharArray(); } +/** + * Get the text for a scripting element from the stream. It handles + * the escape string %\. + * + * @param start The starting postion to read + * @param stop The ending (exclusive) postion to read + * @return The resultant text + */ +char[] getScriptingText(Mark start, Mark stop) throws JasperException { + Mark oldstart = mark(); + reset(start); + CharArrayWriter caw = new CharArrayWriter(); + while (!stop.equals(mark())) { + int c = nextChar(); + caw.write(c); + if (c == '%') { + if (stop.equals(mark())) + break; + int c2 = nextChar(); + if (stop.equals(mark())) { + caw.write(c2); + break; + } + int c3 = nextChar(); + if (c2 == '\\' c3 == '') { + caw.write(''); + } else { + caw.write(c2); + caw.write(c3); + } + } + } + caw.close(); + reset(oldstart); + return caw.toCharArray(); +} + public int peekChar() { return current.stream[current.cursor]; } 1.2 +6 -6 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java Index: Parser.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Parser.java 28 Mar 2002 18:46:16 - 1.1 +++ Parser.java 4 Apr 2002 02:34:01 - 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java,v 1.1 2002/03/28 18:46:16 kinman Exp $ - * $Revision: 1.1 $ - * $Date: 2002/03/28 18:46:16 $ + * $Header: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java,v 1.2 2002/04/04 02:34:01 kinman Exp $ + * $Revision: 1.2 $ + * $Date: 2002/04/04 02:34:01 $ * * * @@ -246,7 +246,7 @@ err.jspError(start, jsp.error.unterminated, %!); } - new Node.Declaration(reader.getText(start, stop), start, parent); + new Node.Declaration(reader.getScriptingText(start, stop), start, parent); } /* @@ -259,7 +259,7 @@ err.jspError(start, jsp.error.unterminated, %=); } - new Node.Expression(reader.getText(start, stop), start, parent); + new Node.Expression(reader.getScriptingText(start, stop), start, parent); }
cvs commit: jakarta-tomcat-site/xdocs/stylesheets project.xml
remm02/04/03 21:20:23 Modified:docs index.html irc.html news.html xdocsindex.xml irc.xml news.xml xdocs/stylesheets project.xml Added: docs resources.html xdocsresources.xml Log: - Mention 3.3.1 instead of 3.3. - Add a resources page (giving links to possibly useful Tomcat-centric articles, books, tools). If giving those links is not appropriate, let me know, and I'll remove the page. - Link the doc bundle for TC 4.0-HEAD. Revision ChangesPath 1.22 +11 -8 jakarta-tomcat-site/docs/index.html Index: index.html === RCS file: /home/cvs/jakarta-tomcat-site/docs/index.html,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- index.html19 Mar 2002 04:13:34 - 1.21 +++ index.html4 Apr 2002 05:20:22 - 1.22 @@ -16,7 +16,7 @@ -titleThe Jakarta Site - Jakarta Tomcat/title +titleThe Jakarta Site - Apache Tomcat/title /head body bgcolor=#ff text=#00 link=#525D76 @@ -27,7 +27,7 @@ a href=http://jakarta.apache.org;img src=http://jakarta.apache.org/images/jakarta-logo.gif; border=0//a /td td align=right -a href=http://jakarta.apache.org/tomcat;img src=./images/tomcat.gif alt=The Jakarta Tomcat Project border=0//a +a href=http://jakarta.apache.org/tomcat;img src=./images/tomcat.gif alt=The Apache Tomcat Project border=0//a /td /tr /table @@ -45,6 +45,8 @@ /li lia href=./news.htmlNews Status/a /li +lia href=./resources.htmlResources/a +/li /ul pstrongDocumentation/strong/p ul @@ -54,6 +56,8 @@ /li lia href=./tomcat-4.0-doc/index.htmlTomcat 4.0/a /li +lia href=./tomcat-4.1-doc/index.htmlTomcat 4.next/a +/li /ul pstrongDownload/strong/p ul @@ -106,7 +110,7 @@ table border=0 cellspacing=0 cellpadding=2 width=100% trtd bgcolor=#525D76 font color=#ff face=arial,helvetica,sanserif - a name=Jakarta TomcatstrongJakarta Tomcat/strong/a + a name=Apache TomcatstrongApache Tomcat/strong/a /font /td/tr trtd @@ -171,7 +175,7 @@ /td td bgcolor=#a0ddf0 colspan= rowspan= valign=top align=left font color=#00 size=-1 face=arial,helvetica,sanserif -3.3 +3.3.1 /font /td /tr @@ -207,13 +211,12 @@ 2.3 and JSP 1.2 specifications. As required by the specifications, Tomcat 4.0 also supports web applications built for the Servlet 2.2 and JSP 1.1 specifications with no changes./p -pstrongTomcat 3.3/strong. Version 3.3 is the current production quality -release. It continues the refactoring that was begun in version 3.2 and +pstrongTomcat 3.3.x/strong. Version 3.3.1 is the current production +quality release. It continues the refactoring that was begun in version 3.2 and carries it to its logical conclusion. Version 3.3 provides a much more modular design and allows the servlet container to be customized by adding and removing modules that control the processing of servlet requests. This version also -contains many performance improvements. The future 3.3.1 release continues on -the same path with more specific performance and security improvements./p +contains many performance improvements./p pstrongTomcat 3.2.x/strong. Version 3.2 added few new features since 3.1; the major effort was a refactoring of the internals to improve performance and stability. The 3.2.1 release, like 3.1.1, was a security 1.3 +6 -2 jakarta-tomcat-site/docs/irc.html Index: irc.html === RCS file: /home/cvs/jakarta-tomcat-site/docs/irc.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- irc.html 19 Mar 2002 05:27:01 - 1.2 +++ irc.html 4 Apr 2002 05:20:22 - 1.3 @@ -16,7 +16,7 @@ -titleThe Jakarta Site - Jakarta Tomcat/title +titleThe Jakarta Site - Tomcat on IRC/title /head body bgcolor=#ff text=#00 link=#525D76 @@ -27,7 +27,7 @@ a