question about localhost/ error count in tomcat manager web app
hi, when i access the manager web app, i noticed that error count for localhost/ default[/] increments. http connector error count also increments. any ideas why this is happening? am i missing some configuration or could this be a bug? i asked a similar question on the tomcat-user alias a while back, but didn't get any reply back, so thought i'd check here. thanks. -annie - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Session replication question
Hi, I have a question about Tomcat's session replication design. I would like to know the reasons behind the design choice to move from JGroups based replication to TCP based replication. Because it seems to me that TCP based replication will have higher overhead than JGroups [multicast based] replication. I would greatly appreciate it if someone could shed some light on this topic. Thanks, Pankaj
Building question
I just tried to build a fresh copy of j-t-c/jni/native on my Solaris7 box, and it fails miserably ;-). It looks like it needs to include -fpic, but I can't see how to do it (CFLAGS doesn't work). The OpenSSL libraries are libssl.a and libcrypto.a. With the pathetic security performance of OpenSSL, I wouldn't trust it any other way ;-). This message is intended only for the use of the person(s) listed above as the intended recipient(s), and may contain information that is PRIVILEGED and CONFIDENTIAL. If you are not an intended recipient, you may not read, copy, or distribute this message or any attachment. If you received this communication in error, please notify us immediately by e-mail and then delete all copies of this message and any attachments. In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet is not secure. Do not send confidential or sensitive information, such as social security numbers, account numbers, personal identification numbers and passwords, to us via ordinary (unencrypted) e-mail. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Tomcat 5 Redhat Fedora rpm question
Hi, I am interested in packaging Tomcat. So I found (using rpmseek.com) the following files: tomcat5-5.0.30-5jpp_6fc.i386.rpm tomcat5-5.0.30-5jpp_4fc.src.rpm At a first glance, these files looked like what I wanted to create, but they contain much more than what I expected and I need to learn more about the work that is being put into this by others. Questions: 1) What is tomcat5-5.0.30-5jpp_6fc.i386.rpm ? I thought it was a binary distribution but it has an incredible number of development file dependencies. Why does it require libgcj? 2) What is tomcat5-5.0.30-5jpp_4fc.src.rpm ? Why is it compiling Tomcat ? I thought being a cross platform Java application, compilation of the source is not required. Does it perform a native compile (libgcj)? If so, is this the future norm? Who are the people to contact re the most common Redhat distribution? Many thanks, Bernard - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat 5 Redhat Fedora rpm question
Hi, JPackage: http://www.jpackage.org/rpm.php?id=1901. Yoav -Original Message- From: Bernard [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 01, 2005 2:46 AM To: tomcat-dev@jakarta.apache.org Subject: Tomcat 5 Redhat Fedora rpm question Hi, I am interested in packaging Tomcat. So I found (using rpmseek.com) the following files: tomcat5-5.0.30-5jpp_6fc.i386.rpm tomcat5-5.0.30-5jpp_4fc.src.rpm At a first glance, these files looked like what I wanted to create, but they contain much more than what I expected and I need to learn more about the work that is being put into this by others. Questions: 1) What is tomcat5-5.0.30-5jpp_6fc.i386.rpm ? I thought it was a binary distribution but it has an incredible number of development file dependencies. Why does it require libgcj? 2) What is tomcat5-5.0.30-5jpp_4fc.src.rpm ? Why is it compiling Tomcat ? I thought being a cross platform Java application, compilation of the source is not required. Does it perform a native compile (libgcj)? If so, is this the future norm? Who are the people to contact re the most common Redhat distribution? Many thanks, Bernard - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat 5 Redhat Fedora rpm question
Yep, for all Java RPM based stuff, jpackage.org is your friend :) 2005/6/1, Yoav Shapira [EMAIL PROTECTED]: Hi, JPackage: http://www.jpackage.org/rpm.php?id=1901. Yoav -Original Message- From: Bernard [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 01, 2005 2:46 AM To: tomcat-dev@jakarta.apache.org Subject: Tomcat 5 Redhat Fedora rpm question Hi, I am interested in packaging Tomcat. So I found (using rpmseek.com) the following files: tomcat5-5.0.30-5jpp_6fc.i386.rpm tomcat5-5.0.30-5jpp_4fc.src.rpm At a first glance, these files looked like what I wanted to create, but they contain much more than what I expected and I need to learn more about the work that is being put into this by others. Questions: 1) What is tomcat5-5.0.30-5jpp_6fc.i386.rpm ? I thought it was a binary distribution but it has an incredible number of development file dependencies. Why does it require libgcj? 2) What is tomcat5-5.0.30-5jpp_4fc.src.rpm ? Why is it compiling Tomcat ? I thought being a cross platform Java application, compilation of the source is not required. Does it perform a native compile (libgcj)? If so, is this the future norm? Who are the people to contact re the most common Redhat distribution? Many thanks, Bernard - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Tomcat build question
I am new to this list. I download the main build.xml script from http://jakarta.apache.org/tomcat/tomcat-5.5-doc/building.html and try to use ant to buld it. I got an error: build.xml:717: Cannot replace directory \usr\share\java\tomcat-deps\src\java\org\apache\tomcat\dbcp with directory \usr\share\java\tomcat-deps\src\java\org\apache\commons Do I need modify this main build script? When I click UML sequence diagram of request process, I get errors in PDF file too. Can anyone tell me what's wrong? Thank you James - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat build question
[EMAIL PROTECTED] wrote: I am new to this list. I download the main build.xml script from http://jakarta.apache.org/tomcat/tomcat-5.5-doc/building.html and try to use ant to buld it. I got an error: build.xml:717: Cannot replace directory \usr\share\java\tomcat-deps\src\java\org\apache\tomcat\dbcp with directory \usr\share\java\tomcat-deps\src\java\org\apache\commons Do I need modify this main build script? If you are using ant version 1.64, choose an earlier or later version. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat build question
This is a known bug with Ant 1.6.4. See: http://issues.apache.org/bugzilla/show_bug.cgi?id=31031 and http://issues.apache.org/bugzilla/show_bug.cgi?id=35061 The solution is to use a different version of Ant. - Original Message - From: [EMAIL PROTECTED] To: tomcat-dev@jakarta.apache.org Sent: Thursday, May 26, 2005 1:06 PM Subject: Tomcat build question I am new to this list. I download the main build.xml script from http://jakarta.apache.org/tomcat/tomcat-5.5-doc/building.html and try to use ant to buld it. I got an error: build.xml:717: Cannot replace directory \usr\share\java\tomcat-deps\src\java\org\apache\tomcat\dbcp with directory \usr\share\java\tomcat-deps\src\java\org\apache\commons Do I need modify this main build script? When I click UML sequence diagram of request process, I get errors in PDF file too. Can anyone tell me what's wrong? Thank you James - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This message is intended only for the use of the person(s) listed above as the intended recipient(s), and may contain information that is PRIVILEGED and CONFIDENTIAL. If you are not an intended recipient, you may not read, copy, or distribute this message or any attachment. If you received this communication in error, please notify us immediately by e-mail and then delete all copies of this message and any attachments. In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet is not secure. Do not send confidential or sensitive information, such as social security numbers, account numbers, personal identification numbers and passwords, to us via ordinary (unencrypted) e-mail. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Filter question
Hi, suggest, that I am creating a filter, which replaces the input stream. This works fine, if the input stream is used by the application itself. However, there are cases, when the Request class itself is accessing the input stream: If the method is POST and the content type is application/x-www-form-urlencoded and a method like getParameterNames() is invoked. In that case, the Request class is simply accessing the original input stream, circumventing the request wapper, that my filter has created. 1.) Is that intentional or is that a bug? 2.) If the former: Is there a way, I can ensure that my input stream is used? 3.) If the latter: Is there any chance to fix the bug? In other words: Does the Request class have access to the wrapper created by my filter? I'd be able to create and submit a patch in that case. Regards, Jochen - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Question about ByteChunk.substract implementation
Why does the implementation of the substract() methods of org.apache.tomcat.util.buf.ByteChunk.java (http://cvs.apache.org/viewcvs.cgi/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/buf/ByteChunk.java?rev=1.24view=markup) assume that in.realReadBytes will manipulate the start and end pointers of ByteChunk? org.apache.coyote.http11.InternalInputBuffer.doRead [which gets invoked along the realReadBytes codepath] calls ByteChunk.setBytes (which initializes start, end etc) so the scenario below doesn't occur with the coyote connector. Just wondering if this is a contract that other buffering connector implementations must adhere to. In the code below, when buff needs to be refilled (e.g. start = end = buff.length = 8192), and if realReadBytes doesn't reset start to 0, then buff[start++] results in an IndexOutOfBoundsException. The other substract() variants have a similar issue. public int substract() throws IOException { if ((end - start) == 0) { if (in == null) return -1; int n = in.realReadBytes( buff, 0, buff.length ); if (n 0) return -1; } return (buff[start++] 0xFF); } I expected to see start, off and end rest in the substract() method itself. public int substract() throws IOException { if ((end - start) == 0) { if (in == null) return -1; int n = in.realReadBytes( buff, 0, buff.length ); start = off = 0; end = n; } return (buff[start++] 0xFF); } Thanks, Arvind - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Building Question
Hi Bill, I think we emailed back and forth awhile ago about CRLs in tomcat 5.5 using JDK 1.5. I am also interested in getting CRLs working for tomcat 5.5. I have been looking into the code, but I just have not had time to finish it off and integrate it into tomcat. If you need someone to code inspect or to test it out then let me know. Bruce On Apr 9, 2005 8:54 PM, Bill Barker [EMAIL PROTECTED] wrote: I'm thinking of starting on implementing CLRs for Tomcat 5.5. However, it's a PITA for 1.5. I wanted to check that the binary builds for TC 5.5 are being built with JDK 1.5, or, I'm probably wasting my time (not many people use the source distro :). This message is intended only for the use of the person(s) listed above as the intended recipient(s), and may contain information that is PRIVILEGED and CONFIDENTIAL. If you are not an intended recipient, you may not read, copy, or distribute this message or any attachment. If you received this communication in error, please notify us immediately by e-mail and then delete all copies of this message and any attachments. In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet is not secure. Do not send confidential or sensitive information, such as social security numbers, account numbers, personal identification numbers and passwords, to us via ordinary (unencrypted) e-mail. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Building Question
- Original Message - From: Bruce Keats [EMAIL PROTECTED] To: Tomcat Developers List tomcat-dev@jakarta.apache.org Sent: Tuesday, April 12, 2005 5:20 AM Subject: Re: Building Question Hi Bill, I think we emailed back and forth awhile ago about CRLs in tomcat 5.5 using JDK 1.5. I am also interested in getting CRLs working for tomcat 5.5. I have been looking into the code, but I just have not had time to finish it off and integrate it into tomcat. If you need someone to code inspect or to test it out then let me know. I've checked in a basic file-based CRL support as JSSE15SocketFactory.java. The Connector attribute is 'crlFile' to specify the location of your CRLs. More eyes and/or testers are always appreciated :). Needless to say, it requires JDK 1.5 to compile (so it even has the first, gratuitous, use of Generics in Tomcat code :). The consensus is to continue to build the binary distro with JDK 1.4, so this will still be true even after 5.5.10 is released. Bruce On Apr 9, 2005 8:54 PM, Bill Barker [EMAIL PROTECTED] wrote: I'm thinking of starting on implementing CLRs for Tomcat 5.5. However, it's a PITA for 1.5. I wanted to check that the binary builds for TC 5.5 are being built with JDK 1.5, or, I'm probably wasting my time (not many people use the source distro :). This message is intended only for the use of the person(s) listed above as the intended recipient(s), and may contain information that is PRIVILEGED and CONFIDENTIAL. If you are not an intended recipient, you may not read, copy, or distribute this message or any attachment. If you received this communication in error, please notify us immediately by e-mail and then delete all copies of this message and any attachments. In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet is not secure. Do not send confidential or sensitive information, such as social security numbers, account numbers, personal identification numbers and passwords, to us via ordinary (unencrypted) e-mail. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This message is intended only for the use of the person(s) listed above as the intended recipient(s), and may contain information that is PRIVILEGED and CONFIDENTIAL. If you are not an intended recipient, you may not read, copy, or distribute this message or any attachment. If you received this communication in error, please notify us immediately by e-mail and then delete all copies of this message and any attachments. In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet is not secure. Do not send confidential or sensitive information, such as social security numbers, account numbers, personal identification numbers and passwords, to us via ordinary (unencrypted) e-mail. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Building Question
OK On Apr 10, 2005 6:05 PM, Bill Barker [EMAIL PROTECTED] wrote: - Original Message - From: Henri Gomez [EMAIL PROTECTED] To: Tomcat Developers List tomcat-dev@jakarta.apache.org Sent: Saturday, April 09, 2005 11:45 PM Subject: Re: Building Question CLR ? Typo. It should be CRLs. As in java.security.cert.CRL. On Apr 10, 2005 3:33 AM, Yoav Shapira [EMAIL PROTECTED] wrote: Hi, I'm thinking of starting on implementing CLRs for Tomcat 5.5. However, it's a PITA for 1.5. I wanted to check that the binary builds for TC 5.5 are being built with JDK 1.5, or, I'm probably wasting my time (not many people use the source distro :). I've been building with 1.4, using the build as a final check that we have no 1.5-only code. Yoav Shapira System Design and Management Fellow MIT Sloan School of Management / School of Engineering Cambridge, MA USA [EMAIL PROTECTED] / [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This message is intended only for the use of the person(s) listed above as the intended recipient(s), and may contain information that is PRIVILEGED and CONFIDENTIAL. If you are not an intended recipient, you may not read, copy, or distribute this message or any attachment. If you received this communication in error, please notify us immediately by e-mail and then delete all copies of this message and any attachments. In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet is not secure. Do not send confidential or sensitive information, such as social security numbers, account numbers, personal identification numbers and passwords, to us via ordinary (unencrypted) e-mail. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Building Question
CLR ? On Apr 10, 2005 3:33 AM, Yoav Shapira [EMAIL PROTECTED] wrote: Hi, I'm thinking of starting on implementing CLRs for Tomcat 5.5. However, it's a PITA for 1.5. I wanted to check that the binary builds for TC 5.5 are being built with JDK 1.5, or, I'm probably wasting my time (not many people use the source distro :). I've been building with 1.4, using the build as a final check that we have no 1.5-only code. Yoav Shapira System Design and Management Fellow MIT Sloan School of Management / School of Engineering Cambridge, MA USA [EMAIL PROTECTED] / [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Building Question
Henri Gomez wrote: CLR ? Bill's doing .not stuff now. He must be using some hidden JDK features, as I didn't read about any .not compatibility features in JDK 1.5. Neat stuff. :D More seriously, Tomcat is built with JDK 1.4, for best compatibility. I don't know what the consequences of moving to JDK 1.5 would be. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Building Question
- Original Message - From: Henri Gomez [EMAIL PROTECTED] To: Tomcat Developers List tomcat-dev@jakarta.apache.org Sent: Saturday, April 09, 2005 11:45 PM Subject: Re: Building Question CLR ? Typo. It should be CRLs. As in java.security.cert.CRL. On Apr 10, 2005 3:33 AM, Yoav Shapira [EMAIL PROTECTED] wrote: Hi, I'm thinking of starting on implementing CLRs for Tomcat 5.5. However, it's a PITA for 1.5. I wanted to check that the binary builds for TC 5.5 are being built with JDK 1.5, or, I'm probably wasting my time (not many people use the source distro :). I've been building with 1.4, using the build as a final check that we have no 1.5-only code. Yoav Shapira System Design and Management Fellow MIT Sloan School of Management / School of Engineering Cambridge, MA USA [EMAIL PROTECTED] / [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This message is intended only for the use of the person(s) listed above as the intended recipient(s), and may contain information that is PRIVILEGED and CONFIDENTIAL. If you are not an intended recipient, you may not read, copy, or distribute this message or any attachment. If you received this communication in error, please notify us immediately by e-mail and then delete all copies of this message and any attachments. In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet is not secure. Do not send confidential or sensitive information, such as social security numbers, account numbers, personal identification numbers and passwords, to us via ordinary (unencrypted) e-mail. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Building Question
I'm thinking of starting on implementing CLRs for Tomcat 5.5. However, it's a PITA for 1.5. I wanted to check that the binary builds for TC 5.5 are being built with JDK 1.5, or, I'm probably wasting my time (not many people use the source distro :). This message is intended only for the use of the person(s) listed above as the intended recipient(s), and may contain information that is PRIVILEGED and CONFIDENTIAL. If you are not an intended recipient, you may not read, copy, or distribute this message or any attachment. If you received this communication in error, please notify us immediately by e-mail and then delete all copies of this message and any attachments. In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet is not secure. Do not send confidential or sensitive information, such as social security numbers, account numbers, personal identification numbers and passwords, to us via ordinary (unencrypted) e-mail. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Building Question
Hi, I'm thinking of starting on implementing CLRs for Tomcat 5.5. However, it's a PITA for 1.5. I wanted to check that the binary builds for TC 5.5 are being built with JDK 1.5, or, I'm probably wasting my time (not many people use the source distro :). I've been building with 1.4, using the build as a final check that we have no 1.5-only code. Yoav Shapira System Design and Management Fellow MIT Sloan School of Management / School of Engineering Cambridge, MA USA [EMAIL PROTECTED] / [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question: Strange Session Remove Attribute
Hmm, but I can't find a statement that the valueUnbound get an invalid session, when it called after sessionDestoryed. HttpSessionBindingListener === /** * * Notifies the object that it is being unbound * from a session and identifies the session. * * @param eventthe event that identifies *the session * * @see #valueBound * */ public void valueUnbound(HttpSessionBindingEvent event); I thing the part identifies the session is in conflict with the current tomcat implementation. Today the user get a IllegalStateException at event.getSession().getId() instead the session identifier. The current servlet spec is not clear at this session event definition. :( What is correct? - current handling - emit remove session event and after this the session is invalid - remove emit event after invalidation What we can do? - document the situation Add lifecycle diagrams ( state flow) -propose a change to the spec team Don't emit remove session attribute events, when session destoryed, like ServletContext and ServletRequest handling ( my favorit) Only direct removeAttribute calls, emit remove event. Peter Remy Maucherat schrieb: Peter Rossbach wrote: Hups, the remove session attribute events after session destory is documented at the servlet spec? Any hint welcome Yes, read the javadoc for HttpSessionBindingListener. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question: Strange Session Remove Attribute
Peter Rossbach wrote: Hmm, but I can't find a statement that the valueUnbound get an invalid session, when it called after sessionDestoryed. HttpSessionBindingListener === /** * * Notifies the object that it is being unbound * from a session and identifies the session. * * @param eventthe event that identifies *the session * * @see #valueBound * */ public void valueUnbound(HttpSessionBindingEvent event); I thing the part identifies the session is in conflict with the current tomcat implementation. Interface HttpSessionBindingListener: Causes an object to be notified when it is bound to or unbound from a session. The object is notified by an HttpSessionBindingEvent object. This may be as a result of a servlet programmer explicitly unbinding an attribute from a session, due to a session being invalidated, or due to a session timing out. Today the user get a IllegalStateException at event.getSession().getId() instead the session identifier. The current servlet spec is not clear at this session event definition. :( What is correct? - current handling - emit remove session event and after this the session is invalid - remove emit event after invalidation What we can do? - document the situation Add lifecycle diagrams ( state flow) -propose a change to the spec team Don't emit remove session attribute events, when session destoryed, like ServletContext and ServletRequest handling ( my favorit) Only direct removeAttribute calls, emit remove event. I give up ;) Yes, the current behavior is certain to be the correct one. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question: Strange Session Remove Attribute
Hmm, I see the following problem with the current session expire strategie. Today a) Notify session destroy event = All session attributes are active b) Set session as invalid c) Notify session remove attribute event - Hups = Now the listener detect IllegalStateExceptions The session attribute listener in normal mode can access the session and this is very usefull to monitoring the app behaviour. At expire session the listener have no chance to detect the invalidation mode. Now I see to chance to make better support for this case: 1) add HttpSession.isValid() method = Very fine then also other code filter, and jsp can detect the Session invalidation. 2) Add event methods to HttpSessionListener public void sessionDestroyed ( HttpSessionEvent se ); public void sessionAfterDestroyed ( HttpSessionEvent se ); = Second method emit after all attribute remove from session and now session is invalid ;-( I vote for the first case, but this means wait for Servlet API 2.5. Another problem I detect is at StandardContext listener event notification At listenerStop (L 3721) we remove the ApplicationEvent Listeners setApplicationEventListeners(null); setApplicationLifecycleListeners(null); but we need the Listener at StandardContext#clearAttributes = ApplicationContext#removeAttribute L695 = Currently we don't emit removeAttribute Events when Context. stop. Simple fix integrate clearAttributes at listenerStop before remove listeners. OK? = Other thing is: that we don't emit remove request attribute events after ServletRequestListener was notify with requestDestory. I can find this handling at org.apache.catalina.connector.Request.recycle At L 391 we clear the attributes, but don't notify the request attribute listener. Is this behaviour spec conform? What is with request attributes that exist before or after request wrapper is active ( s. StandardContextValve#invoke)? Must we have extra map for real application request attributes and another one for container side request attributes ? Sounds really strange :-) Regards Peter Remy Maucherat schrieb: Bill Barker wrote: Hey I have review the getIdInteral changes. At expire (StandardSession, DeltaSession) we send first the SessionDestory events and after this the Remove Session Attribute events. Before we send the remove attribute events the session set to invalid. Hmm: Why we do that? I have read the spec 2.4 but I can find a hint. With this handling nobody can access the getId without IllegalStateException in a HttpSessionBindingListener or HttpSessionAttributeListener! That I can't find this very nice? What can I say, we needed to generate more BZ reports to mark as INVALID ;-). The tester actually has example code of using getId in a HttpSessionAttributeListener to get an ISE. Can anyone explain this session event handling? There was just a long discussion of this. For the details, check the list archives. The short version is that it's mandated by section 15.1.7 + Errata (http://jcp.org/aboutJava/communityprocess/maintenance/jsr154/154errata.txt). (maybe I shouldn't have mentioned it, as Jan didn't appear to have noticed it before: I may have started the trouble ...) Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question: Strange Session Remove Attribute
Peter Rossbach wrote: Hmm, I see the following problem with the current session expire strategie. Today a) Notify session destroy event = All session attributes are active b) Set session as invalid c) Notify session remove attribute event - Hups = Now the listener detect IllegalStateExceptions The session attribute listener in normal mode can access the session and this is very usefull to monitoring the app behaviour. At expire session the listener have no chance to detect the invalidation mode. Now I see to chance to make better support for this case: 1) add HttpSession.isValid() method = Very fine then also other code filter, and jsp can detect the Session invalidation. 2) Add event methods to HttpSessionListener public void sessionDestroyed ( HttpSessionEvent se ); public void sessionAfterDestroyed ( HttpSessionEvent se ); = Second method emit after all attribute remove from session and now session is invalid ;-( I vote for the first case, but this means wait for Servlet API 2.5. Another problem I detect is at StandardContext listener event notification At listenerStop (L 3721) we remove the ApplicationEvent Listeners setApplicationEventListeners(null); setApplicationLifecycleListeners(null); but we need the Listener at StandardContext#clearAttributes = ApplicationContext#removeAttribute L695 = Currently we don't emit removeAttribute Events when Context. stop. Simple fix integrate clearAttributes at listenerStop before remove listeners. OK? No, it's not ok, it's wrong ;) This came up recently, and caused problems. = Other thing is: that we don't emit remove request attribute events after ServletRequestListener was notify with requestDestory. I can find this handling at org.apache.catalina.connector.Request.recycle At L 391 we clear the attributes, but don't notify the request attribute listener. Is this behaviour spec conform? What is with request attributes that exist before or after request wrapper is active ( s. StandardContextValve#invoke)? Must we have extra map for real application request attributes and another one for container side request attributes ? Sounds really strange :-) This is also outside the application scope. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question: Strange Session Remove Attribute
Hey Remy, can you please explain why the remove attribute event notification is wrong when context is destroy? Thanks Peter Remy Maucherat schrieb: Peter Rossbach wrote: Hmm, I see the following problem with the current session expire strategie. Today a) Notify session destroy event = All session attributes are active b) Set session as invalid c) Notify session remove attribute event - Hups = Now the listener detect IllegalStateExceptions The session attribute listener in normal mode can access the session and this is very usefull to monitoring the app behaviour. At expire session the listener have no chance to detect the invalidation mode. Now I see to chance to make better support for this case: 1) add HttpSession.isValid() method = Very fine then also other code filter, and jsp can detect the Session invalidation. 2) Add event methods to HttpSessionListener public void sessionDestroyed ( HttpSessionEvent se ); public void sessionAfterDestroyed ( HttpSessionEvent se ); = Second method emit after all attribute remove from session and now session is invalid ;-( I vote for the first case, but this means wait for Servlet API 2.5. Another problem I detect is at StandardContext listener event notification At listenerStop (L 3721) we remove the ApplicationEvent Listeners setApplicationEventListeners(null); setApplicationLifecycleListeners(null); but we need the Listener at StandardContext#clearAttributes = ApplicationContext#removeAttribute L695 = Currently we don't emit removeAttribute Events when Context. stop. Simple fix integrate clearAttributes at listenerStop before remove listeners. OK? No, it's not ok, it's wrong ;) This came up recently, and caused problems. = Other thing is: that we don't emit remove request attribute events after ServletRequestListener was notify with requestDestory. I can find this handling at org.apache.catalina.connector.Request.recycle At L 391 we clear the attributes, but don't notify the request attribute listener. Is this behaviour spec conform? What is with request attributes that exist before or after request wrapper is active ( s. StandardContextValve#invoke)? Must we have extra map for real application request attributes and another one for container side request attributes ? Sounds really strange :-) This is also outside the application scope. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question: Strange Session Remove Attribute
Peter Rossbach wrote: Hey Remy, can you please explain why the remove attribute event notification is wrong when context is destroy? Because you're not actually removing them, you're just cleaning up objects. Did you notice you don't get notifications on start, etc ? Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question: Strange Session Remove Attribute
Good answer! But why we emit remove session attribute events when sesssion is destroy? I think the session expire is also a clean up thing and nobody need the remove attribute events. Peter Remy Maucherat schrieb: Peter Rossbach wrote: Hey Remy, can you please explain why the remove attribute event notification is wrong when context is destroy? Because you're not actually removing them, you're just cleaning up objects. Did you notice you don't get notifications on start, etc ? Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question: Strange Session Remove Attribute
Peter Rossbach wrote: Good answer! But why we emit remove session attribute events when sesssion is destroy? I think the session expire is also a clean up thing and nobody need the remove attribute events. Because the stupid wording which explicitely mandates the nonsense for sessions isn't present for context attributes ;) Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question: Strange Session Remove Attribute
Hups, the remove session attribute events after session destory is documented at the servlet spec? Any hint welcome Peter Remy Maucherat schrieb: Peter Rossbach wrote: Good answer! But why we emit remove session attribute events when sesssion is destroy? I think the session expire is also a clean up thing and nobody need the remove attribute events. Because the stupid wording which explicitely mandates the nonsense for sessions isn't present for context attributes ;) Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question: Strange Session Remove Attribute
Peter Rossbach wrote: Hups, the remove session attribute events after session destory is documented at the servlet spec? Any hint welcome Yes, read the javadoc for HttpSessionBindingListener. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question: Strange Session Remove Attribute
- Original Message - From: Peter Rossbach [EMAIL PROTECTED] To: Tomcat Developers List tomcat-dev@jakarta.apache.org Sent: Sunday, April 03, 2005 5:04 AM Subject: Question: Strange Session Remove Attribute Hey I have review the getIdInteral changes. At expire (StandardSession, DeltaSession) we send first the SessionDestory events and after this the Remove Session Attribute events. Before we send the remove attribute events the session set to invalid. Hmm: Why we do that? I have read the spec 2.4 but I can find a hint. With this handling nobody can access the getId without IllegalStateException in a HttpSessionBindingListener or HttpSessionAttributeListener! That I can't find this very nice? What can I say, we needed to generate more BZ reports to mark as INVALID ;-). Can anyone explain this session event handling? There was just a long discussion of this. For the details, check the list archives. The short version is that it's mandated by section 15.1.7 + Errata (http://jcp.org/aboutJava/communityprocess/maintenance/jsr154/154errata.txt). regards Peter - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This message is intended only for the use of the person(s) listed above as the intended recipient(s), and may contain information that is PRIVILEGED and CONFIDENTIAL. If you are not an intended recipient, you may not read, copy, or distribute this message or any attachment. If you received this communication in error, please notify us immediately by e-mail and then delete all copies of this message and any attachments. In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet is not secure. Do not send confidential or sensitive information, such as social security numbers, account numbers, personal identification numbers and passwords, to us via ordinary (unencrypted) e-mail. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question: Strange Session Remove Attribute
Bill Barker wrote: Hey I have review the getIdInteral changes. At expire (StandardSession, DeltaSession) we send first the SessionDestory events and after this the Remove Session Attribute events. Before we send the remove attribute events the session set to invalid. Hmm: Why we do that? I have read the spec 2.4 but I can find a hint. With this handling nobody can access the getId without IllegalStateException in a HttpSessionBindingListener or HttpSessionAttributeListener! That I can't find this very nice? What can I say, we needed to generate more BZ reports to mark as INVALID ;-). The tester actually has example code of using getId in a HttpSessionAttributeListener to get an ISE. Can anyone explain this session event handling? There was just a long discussion of this. For the details, check the list archives. The short version is that it's mandated by section 15.1.7 + Errata (http://jcp.org/aboutJava/communityprocess/maintenance/jsr154/154errata.txt). (maybe I shouldn't have mentioned it, as Jan didn't appear to have noticed it before: I may have started the trouble ...) Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
mod_jk error handling question
I apologize for the cross post, but I didn't receive any responses from the user list so I thought I'd try here. Environment: Apache 2.0.52 mod_jk 1.2.7-beta-2 Tomcat 5.5.4 I've set up Tomcat with and AJP1.3 Connector to handle requests for web apps from Apache. I'd like to be able to set up an ErrorDocument directive for apache to forward the user to a custom error page when tomcat is unavailable. This page would inform the user that maintenance is being performed on the web app and so on. When I test this, the http status code that gets returned by mod_jk is 500 (internal server error). This seems too generic to me as it encompasses all kinds of other errors that mod_jk could experience. I was thinking that mod_jk should return 503 (service unavailable) instead when tomcat cannot be contacted. I modified apache-2.0/mod_jk.c (line 1858) to return HTTP_SERVICE_UNAVAILABLE instead of HTTP_INTERNAL_SERVICE_ERROR. With this change mod_jk now returns 503 when tomcat cannot be contacted, but I have no idea if this is the right place to make this change. Is there a better way to handle this or is this an acceptable change? I'd like to fix it with an Apache source code change as a last resort if possible. Any insight is appreciated. Regards, Jay - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: mod_jk error handling question
Paulsen, Jay M wrote: I apologize for the cross post, but I didn't receive any responses from the user list so I thought I'd try here. Don't apologize :). I saw you post, but just didn't catch the time to answer. Is there a better way to handle this or is this an acceptable change? I'd like to fix it with an Apache source code change as a last resort if possible. Not right now. I agree that server_busy would better explain the status of the JK in that case. The problem is that it can be either server_error or server_busy. Discovering something like that is planned for the next release of mod_jk (1.2.10). Regards, Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about new mod_jk jk_lb_worker.c
I would be pleased to use rotatelogs, but it doesn't work with mod_jk.log (at least not last time I checked). David Rees wrote: Rainer Jung wrote, On 11/14/2004 7:31 AM: 0) Any ideas on rotating the mod_jk log file? Use cronolog http://cronolog.org/ or the rotatelogs program included with Apache. -Dave - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about new mod_jk jk_lb_worker.c
Unfortunately I don't understand. Trying to combine rotatelogs with mod_jk.log in the following way (apache 1.3): JkLogFile |/home/jung/mkb/apache/bin/rotatelogs /home/jung/mkb/apache/logs/mod_jk.log 600 doesn't work. It does neither log, nor spawn a rotatelogs process. Inside apaches CustomLog rotatelogs works, but there is no obvious way to combine CustomLog with JkLogFile. Mladen Turk wrote: David Rees wrote: Rainer Jung wrote, On 11/14/2004 7:31 AM: 0) Any ideas on rotating the mod_jk log file? Use cronolog http://cronolog.org/ or the rotatelogs program included with Apache. For that (or any kind of rotatelogs) we would need to spawn the separate process that'll do the logging. The only reasonable solution is to use the 'native' logging and then use rotatelogs program. MT. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about new mod_jk jk_lb_worker.c
Rainer Jung wrote: Unfortunately I don't understand. Trying to combine rotatelogs with mod_jk.log in the following way (apache 1.3): JkLogFile |/home/jung/mkb/apache/bin/rotatelogs /home/jung/mkb/apache/logs/mod_jk.log 600 doesn't work. It does neither log, nor spawn a rotatelogs process. Of course it doesn't. As said: The only reasonable solution is to use the 'native' logging and then use rotatelogs program.. It means that it'll need to be done to support the native logger like JK2 does. Seems like 1.2.8 feature to me, cause it's a lot backporting. That way the request logging will go to access.log and error logging to error.log, and youl'll be able to use rotatelogs on them. MT. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about new mod_jk jk_lb_worker.c
Rainer Jung wrote, On 11/16/2004 1:11 AM: Unfortunately I don't understand. Trying to combine rotatelogs with mod_jk.log in the following way (apache 1.3): Doh. I've been using Apache 2 for so long I forgot that it doesn't work with Apache 1.3. It does work using Apache 2 / mod_jk. -Dave - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about new mod_jk jk_lb_worker.c
David Rees wrote: Rainer Jung wrote, On 11/14/2004 7:31 AM: 0) Any ideas on rotating the mod_jk log file? Use cronolog http://cronolog.org/ or the rotatelogs program included with Apache. For that (or any kind of rotatelogs) we would need to spawn the separate process that'll do the logging. The only reasonable solution is to use the 'native' logging and then use rotatelogs program. MT. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about new mod_jk jk_lb_worker.c
Hi Mladen, 0) Any ideas on rotating the mod_jk log file? 4) Open Problem This should work now with the latest patches. Excellent! Actually I tried to understand the new principles. Using an old style paper computer I can see that the values for lb_value are periodic. But I must confirm, that I did not mathematically understand the algorithm, maybe due to being a little ill. Are the mathematically foundations behind that simple algorithm described anywhere? 1) Limiting new application sessions if load is to high. There is a problem with that. I made a implementation counting the number of busy childs/threads from scoreboard (took me entire day), but again we should count the number of connections to tomcat, cause the apache might be serving static content. Anyhow the idea is great and I'll implement it in the new mod_proxy for Apache 2.2 where we have extra slots in the scoreboard. Sad but we can not do that inside mod_jk unless we implement our own shared memory, that was prover to be bogus in jk2. Apache serving static content is not a problem according to our experience. Static content usually serves in very well under a second (depending mostly on internet speed). The idea here is to detect a problem with the application getting slow, e.g. because of backend systems not responding fast enough. In this situation we want to limit creation of new sessions. Counting the static requests doesn't really matter for us. Example: During normal operation there are 5 static requests in work and 10 dynamic ones (that take much longer to complete). When there is a problem with backend systems we will have 15 static ones, but more than 100 dynamic ones. So either counting or ommiting the static ones seems to make no big difference. You might want to take a look at the attached patch patch_overload.txt for jk/native/apache1.3/mod_jk.c version 1.52. I don't have a patch for Apache 2. The Patch places every change inside #ifdef OVERLOAD. Also there are some DEBUG-Log-Statements put inside #ifdef DEBUG which I assume can now be done more consistently with your TRACE features. Of course the best observable value would be the number of requests belonging to the same webapp. So some possible enhancement would be to count only requests with a fix URL prefix (that's not contained in the patch). 2) Multi-Cluster-Routing Can you write some use case for that and perhaps some simple algo too. What about sticky-sessions and forcing failower if we do not have session replication? Use case: Enterprise application with redundant internet connections A and B. A consists of two Apache instances A.a1 und A.a2, B of B.a1 and B.a2. Behind are 4 Tomcat A.t1, A.t2, B.t1, B.t2. A.t1 and A.t2 are clustered, B.t1 and B.t2 are clustered. mod_jk uses load balancing with sticky sessions. All Apaches can connect to any Tomcat, but A.t1 is local for A.a1, A.t2 for A.a2, B.t1 for B.a1 and B.t2 for B.a2: A.a1 A.a2 B.a1 B.a2 || X || X || X || A.t1---A.t2 B.t1---B.t2 A.t1 and A.t2 are put into the same domain A in workers.properties, B.t1 and B.t2 are put into the same domain B in workers.properties. Now if you shutdown e.g. tomcat B.t1 for service/update (or if it breaks) All apaches will know from the domain configuration, that sticky requests for B.t1 have to go to B.t2. This is important, since only on that tomcat the replicated sessions from B.t1 will exist. Without domains you have to put all the Tomcats in one cluster. But then all sessions are replicated to all tomcats. We have a production side using 3x3=9 tomcats and a cluster with 9 nodes would mean too much overhead. The implementation uses and additional worker attribute domain, and if a session has a jvmRoute, is sticky and the correct worker is in error state another worker with the same domain attribute is chosen. I have an implementation, but I have to adapt to your code changes. The patch will only concern common/jk_util.c for configuration and common/jk_lb_worker.c. I could provide the code, if you are interested. For applications using sessions but without session replication I don't see a way how to successfully fail over. Maybe I don't understand that part of your question? 3) Idle connection disconnect Use worker mpm. We just can not make maintainer thread for non-treaded mpm's like apache1.2 or prefork. I don't use a seperate thread. I implemented this feature for Apache 1.3. The principles are the following (and I can sent complete code if you are interested): a) In common/service.h in jk_worker define an additional JK_METHOD check to be implemented by the workers: /* * Check all workers on a regular basis, * even if they do not process requests. */ int (JK_METHOD *check)(jk_worker_t *w, int force, jk_logger_t *l); b) In common/jk_worker.c provide an entry point wc_check, that will call the check method for all workers in the worker_map
Re: Question about new mod_jk jk_lb_worker.c
Forgot to attach the patch for the overload feature. It is attached now.*** mod_jk.c.1.52 Sun Nov 14 15:00:20 2004 --- mod_jk.c.1.52.overload Sun Nov 14 15:18:59 2004 *** *** 38,43 --- 38,46 #include util_script.h #include util_date.h #include http_conf_globals.h + #ifdef OVERLOAD + #include scoreboard.h + #endif /* OVERLOAD */ /* * Jakarta (jk_) include files *** *** 63,68 --- 66,75 #define JK_DURATION (jakarta.worker.duration) #define JK_MAGIC_TYPE (application/x-jakarta-servlet) #define NULL_FOR_EMPTY(x) ((x !strlen(x)) ? NULL : x) + #ifdef OVERLOAD + #define EMPTY_FOR_NULL(x) ((x) ? x : ) + #define NEITHER_NULL_NOR_EMPTY(x) (x x[0] != '\0') + #endif /* OVERLOAD */ /* * If you are not using SSL, comment out the following line. It will make *** *** 134,139 --- 141,170 int envvars_in_use; table *envvars; + #ifdef OVERLOAD + /* + * Configuration object for the mod_overload module. Parameters are + * + * overload_uri URI that triggers load check, e.g. starting + * URI for a new application session + * overload_uri_regexp URI RegExp that triggers load check, e.g. starting + * URI pattern for a new application session + * overload_uri_match String representation of overload_uri_match + * overload_max_busy_slots maximum number of busy children allowed + * when doing load check + * overload_error_page URI of the error page shown (or redirected to), + * if there are too many children busy during load check + * overload_is_external Flag to indicate, that overload redirect should + * be done externally insted of an internal redirect + */ + char *overload_uri; + char *overload_uri_match; + regex_t *overload_uri_regexp; + int overload_max_busy_slots; + char *overload_error_page; + int overload_is_external; + #endif /* OVERLOAD */ + server_rec *s; } jk_server_conf_t; *** *** 1404,1409 --- 1435,1556 return NULL; } + #ifdef OVERLOAD + /* + * JkOverloadURI directive Handling + * + * Take this config parameter only, if the string is not null and not empty + */ + static const char *set_overload_uri(cmd_parms *cmd, + void *dummy, + char *uri) + { + jk_server_conf_t *conf = + (jk_server_conf_t *)ap_get_module_config(cmd-server-module_config, + jk_module); + + if ( NEITHER_NULL_NOR_EMPTY(uri) ) { + conf-overload_uri = uri; + } + + return NULL; + } + + /* + * JkOverloadURIMatch directive Handling + * + * Take this config parameter only, if the string is not null and not empty + */ + static const char *set_overload_uri_match(cmd_parms *cmd, + void *dummy, + char *uri_match) + { + jk_server_conf_t *conf = + (jk_server_conf_t *)ap_get_module_config(cmd-server-module_config, + jk_module); + + if ( NEITHER_NULL_NOR_EMPTY(uri_match) ) { + conf-overload_uri_regexp = ap_pregcomp(cmd-pool, uri_match, REG_EXTENDED); + if (conf-overload_uri_regexp == NULL) { + ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_DEBUG, cmd-server, + Overload configure: + could not compile regexp %s, + uri_match); + conf-overload_uri_match = NULL; + conf-overload_uri_regexp = NULL; + } else { + conf-overload_uri_match = uri_match; + } + } + + return NULL; + } + + /* + * JkOverloadMaxBusySlots Directive Handling + * + * Take this config parameter only, if the string is not null and not empty. + * We just take atoi of the string, so the integer value is the initial integer + * in the string + */ + static const char *set_overload_max_busy_slots(cmd_parms *cmd, + void *dummy, + char *max_busy_slots) + { + jk_server_conf_t *conf = + (jk_server_conf_t *)ap_get_module_config(cmd-server-module_config, + jk_module); + + if ( NEITHER_NULL_NOR_EMPTY(max_busy_slots) ) { + conf-overload_max_busy_slots = atoi(max_busy_slots); + } + + return NULL; + } + + /* + * JkOverloadErrorPage Directive Handling + * + * Take this config parameter only, if the string is not null and not empty. + */ + static
Re: Question about new mod_jk jk_lb_worker.c
Rainer Jung wrote: Hi Mladen, 0) Any ideas on rotating the mod_jk log file? Implementing inside apache's error.log is the only solution. But that'll have to wait for 1.2.8. Are the mathematically foundations behind that simple algorithm described anywhere? The idea behind this scheduler is the following: lbfactor is how much we expect this worker to work, or the worker's work quota. lbstatus is how urgent this worker has to work to fulfill its quota of work. We distribute each worker's work quota to the worker, and then look which of them needs to work most urgently (biggest lbstatus). This worker is then selected for work, and its lbstatus reduced by the total work quota we distributed to all workers. Thus the sum of all lbstatus does not change.(*) If some workers are disabled, the others will still be scheduled correctly. If a balancer is configured as follows: worker abcd lbfactor 25 25 25 25 lbstatus 0000 And b gets disabled, the following schedule is produced: lbstatus -500 25 25 lbstatus -250 -25 50 lbstatus 0000 (repeat) That is it schedules: a c d a c d a c d ... The following asymmetric configuration works as one would expect: worker ab lbfactor 70 30 lbstatus -30 30 lbstatus 40 -40 lbstatus 10 -10 lbstatus -20 20 lbstatus -50 50 lbstatus 20 -20 lbstatus -10 10 lbstatus -40 40 lbstatus 30 -30 lbasatus 00 (repeat) That is after 10 schedules, the schedule repeats and 7 a are selected with 3 b interspersed. 1) Limiting new application sessions if load is to high. Of course the best observable value would be the number of requests belonging to the same webapp. So some possible enhancement would be to count only requests with a fix URL prefix (that's not contained in the patch). Can you open a bugzilla report and enter those patches so they don't get lost. I very much like the idea and I have apache2 code for counting busy workers: int server_limit, thread_limit; /* Get the number of busy workers from scoreboard */ static int jk_server_busy_workers() { int i, j, res; int busy = 0; worker_score *ws_record; process_score *ps_record; if (!ap_exists_scoreboard_image()) { return 0; } for (i = 0; i server_limit; ++i) { ps_record = ap_get_scoreboard_process(i); for (j = 0; j thread_limit; ++j) { int indx = (i * thread_limit) + j; ws_record = ap_get_scoreboard_worker(i, j); res = ws_record-status; if (!ps_record-quiescing ps_record-pid) { if (res == SERVER_READY res != SERVER_DEAD res != SERVER_STARTING res != SERVER_IDLE_KILL) busy++; } } } return busy; } inside jk_post_config +ap_mpm_query(AP_MPMQ_HARD_LIMIT_THREADS, thread_limit); +ap_mpm_query(AP_MPMQ_HARD_LIMIT_DAEMONS, server_limit); 3) Idle connection disconnect Use worker mpm. We just can not make maintainer thread for non-treaded mpm's like apache1.2 or prefork. I don't use a seperate thread. I implemented this feature for Apache 1.3. The principles are the following (and I can sent complete code if you are interested): You are running that on unix or windows? a) In common/service.h in jk_worker define an additional JK_METHOD check to be implemented by the workers: Please, do another bugzilla entry for that. http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205 Component: Native:JK Severity: Enhancement Thank's for the discussion!! Thank you! Regards, Mladen - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about new mod_jk jk_lb_worker.c
Rainer Jung wrote, On 11/14/2004 7:31 AM: 0) Any ideas on rotating the mod_jk log file? Use cronolog http://cronolog.org/ or the rotatelogs program included with Apache. -Dave - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about new mod_jk jk_lb_worker.c
Hi Mladen, I include my original posting. Hi Mladen, great! I don't know how hard the following is to achieve, but it is the most prominent problem around mod_jk-Logging I know of: mod_jk does neither support Apaches rotatelogs nor does it have a log rotation capability on its own. If you or any other committer has an idea how to introduce rotating logfiles, that would be a major achievement. I have 3 more features I would be willing to provide. Maybe you or the other committers can comment, if they think that would be useful. All of them are already implemented for mod_jk/apache 1.3 and in production under high load. 1) Limiting new application sessions if load is to high. You can configure a start URL for your application (regexp based). If a request X matches this URL, then mod_jk checks the scoreboard how many apache requests are being processed simultaneously at that moment. There is a configurable limti, and if that limit is reached, the request X will not be sent to tomcat, but instead be answered by some configurable local static response (containing the info, that the load is to high and the user should try again later). Alternatively one can configure X to be answered by some external redirect. 2) Multi-Cluster-Routing Tomcat-Cluster does only allow session replication to all nodes in the cluster. Once you work with more than 3-4 nodes there is too much overhead and risk in replicating sessions to all nodes. We split all nodes into clustered groups. I introduced a new worker attribute domain to let get_most_suitable_worker know, to which other nodes the session gets replicated (the workers in the same domain). This enhancement has another benefit: Once mod_jk connects an apache process to a tomcat instance, the tomcat jk connector will need one thread for this connection as long as the apache process is alive. Now assume you have multiple Apaches and Tomcats. The Tomcats are clustered and mod_jk uses sticky sessions. Now you are going to shut down (maintenance) one tomcat. All Apache will start connections to all tomcats. You end up with all tomcats getting connections from all apache processes, so the number of threads needed inside the tomcats will explode. If you group the tomcats the connections normally will stay inside the groups (combine 2) with a routing load balancer to the apaches). 3) Idle connection disconnect This one also comes from the fact, that a mod_jk connection consumes one tomcat connector thread, even if its idle for a long time. The idle connection check in mod_jk only works, if the connection is going to be used. Then it is checked if it was idle for too long and probably is beeing closed and reconnected. I implemented a feature, where in configurable intervals all workers of an lb worker are checked for idle connections, even the ones which are not returned by get_most_suitable_worker. The rationale behind it is the same as in the second part of 2). 4) Open Problem I didn't check your new code, but at least before there was the problem, that a recovered worker that was offline a long time (in means of load) got all the work after recovery. Of course there was a fixed conatsnt of load added to it after recovery to compensate, but working with a constant was not really solving the problem. It looks like one should virtually add load to a worker, even during it's error time, so that it will get normal load after recovering. Thanks for any comments! Rainer Mladen Turk wrote: Rainer Jung wrote: Hi Mladen, hi everyone, i have a proposal for a slight enhancement concerning the log format of mod_jk. Maybe you could consider including it in your recently revised code. It contains only changes to jk_util.c and I attach a patch relativ to version 1.32 of the file. Hi Rainer. You are definitely on my track :) . I'm planning to add one additional log level, and clear all the log messages. 1. ERROR - fatal operations 2. WARN - problems but not fatal 3. INFO - production logging 4. DEBUG - protocol tracing 5. TRACE - function call logging 1) Include the log level of a message in the log line. 2) Include the PID of the logging process in the log file. I'd like to make a customizable log line, in the JkRequestLogFormat fashion to be able to add PID/ThreadId, level, etc... MT. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Mladen Turk wrote: Peter Rossbach wrote: Hello Mladen, I have see your checkin's and Rainer Jung very fine mod_jk extension concept mail. I have two questions about lb changes: a) Why you not change the lb_value value after successful recovery at service() function ? After a longer fail the recovered worker get for a long time all new sessions... OK. Will check. Seems very reasonable. See also Rainers Jung mail Can you forward that. Seems I can not
Re: Question about new mod_jk jk_lb_worker.c
Rainer Jung wrote: I include my original posting. Hi Rainer, First of all thank you for ideas. They are great! 1) Limiting new application sessions if load is to high. There is a problem with that. I made a implementation counting the number of busy childs/threads from scoreboard (took me entire day), but again we should count the number of connections to tomcat, cause the apache might be serving static content. Anyhow the idea is great and I'll implement it in the new mod_proxy for Apache 2.2 where we have extra slots in the scoreboard. Sad but we can not do that inside mod_jk unless we implement our own shared memory, that was prover to be bogus in jk2. 2) Multi-Cluster-Routing Can you write some use case for that and perhaps some simple algo too. What about sticky-sessions and forcing failower if we do not have session replication? 3) Idle connection disconnect Use worker mpm. We just can not make maintainer thread for non-treaded mpm's like apache1.2 or prefork. 4) Open Problem I didn't check your new code, but at least before there was the problem, that a recovered worker that was offline a long time (in means of load) This should work now with the latest patches. Best regards, Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about new mod_jk jk_lb_worker.c
Hello Mladen, I have two use case for the Multi Cluster Routing: Use Case 1: More Scaling cluster = A tomcat standard we replicated the session to all tomcat node at a cluster. This replication strategie not scale very well, but when we split the tomcat nodes to some domain and the lb knows that, the system scale better. Apache 1 domain and cluster 1 worker w1.1 for T1.1 worker w1.2 for T1.2 worker w1.3 for T1.3 domain and cluster 2 worker w2.1 for T2.1 worker w2.2 for T2.2 worker w2.3 for T2.3 When a worker w1 at domain 1 failed the made the next try to w1.2 and w1.3, only this worker fail also, the balancer give the w2.x worker a chance. Ok, the client lose the session but than you have really hardware problems... Use Case 2: Switch smoothly to next software generation ( preferred domain) Release a new software at runtime without drop the current user sessions. Start complete new tomcat instances with new application release. Say the Loadbalancer that all new sessions start to domain 2 workers, but as you lost a worker at domain 1 (old release) switch to worker at same domain. Apache 1 domain and cluster 1 ( Software Release 1) worker w1.1 for T1.1 worker w1.2 for T1.2 worker w1.3 for T1.3 domain and cluster 2 ( Software Release 2) - preferred worker w2.1 for T2.1 worker w2.2 for T2.2 worker w2.3 for T2.3 Both use case work perfect with the mod_jk2 level concept, with a little patch. Only the level limit is a real problem for scaling well.. --- I check also the newest jk_lb_worker and it works fine for me... The increment technic is simple and powerful :-) Some examples w1+ w2 lb_factor 1 lb_value 0 values after calc request | w1 w2| comment 1 |0* 2 |w1 get the Session 2 |0 0* |w2 get the Session 3 |0 0* |w2 get the Session, w1 is in error state w1 lb_factor 3 lb_value 0 w2 lb_factor 1 lb_value 0 values after calc request | w1 w2 |comment 1| -1* 1| w1 get the Session 2| -2* 2| w1 get the Session 3| -3 3| w1 get the Session, w1 is first lb worker 4| 0 0*| w2 get the Session 5| -1* 1| w1 get the Session 6| -1 0* | w2 get the Session, w1 is in error 7| -1 0* | w2 get the Session, w1 is in error 7| -1* 1| w1 get the Session, w1 recover great. regards peter Mladen Turk schrieb: Rainer Jung wrote: I include my original posting. Hi Rainer, First of all thank you for ideas. They are great! 1) Limiting new application sessions if load is to high. There is a problem with that. I made a implementation counting the number of busy childs/threads from scoreboard (took me entire day), but again we should count the number of connections to tomcat, cause the apache might be serving static content. Anyhow the idea is great and I'll implement it in the new mod_proxy for Apache 2.2 where we have extra slots in the scoreboard. Sad but we can not do that inside mod_jk unless we implement our own shared memory, that was prover to be bogus in jk2. 2) Multi-Cluster-Routing Can you write some use case for that and perhaps some simple algo too. What about sticky-sessions and forcing failower if we do not have session replication? 3) Idle connection disconnect Use worker mpm. We just can not make maintainer thread for non-treaded mpm's like apache1.2 or prefork. 4) Open Problem I didn't check your new code, but at least before there was the problem, that a recovered worker that was offline a long time (in means of load) This should work now with the latest patches. Best regards, Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Question about new mod_jk jk_lb_worker.c
Hello Mladen, I have see your checkin's and Rainer Jung very fine mod_jk extension concept mail. I have two questions about lb changes: a) Why you not change the lb_value value after successful recovery at service() function ? After a longer fail the recovered worker get for a long time all new sessions... See also Rainers Jung mail b) I have play around with the mod_jk2 lb algo and find the level feature (hot-standby) very usefull. With this feature I have setup to apache with two separate clusters. Apache 1 Worker T1.1 level 0 Worker T1.2 level 0 Worker T1.3level 0 Worker T2.1 level 1 Worker T2.2 level 1 Worker T2.3level 1 Apache 2 Worker T1.1 level 1 Worker T1.2 level 1 Worker T1.3level 1 Worker T2.1 level 0 Worker T2.2 level 0 Worker T2.3level 0 T1.1-T1.3 Cluster 1 T2.1-T2.3 Cluster 2 With this configuration every Apache has a preferred cluster. Ok small patch are needed: After a crashed node the algo find prefered worker at same level. I thing the domain concept from Rainer Jung in combination with preferred worker from mod_jk2 can be very usefull for clustered env. Regards Peter - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about new mod_jk jk_lb_worker.c
Peter Rossbach wrote: Hello Mladen, I have see your checkin's and Rainer Jung very fine mod_jk extension concept mail. I have two questions about lb changes: a) Why you not change the lb_value value after successful recovery at service() function ? After a longer fail the recovered worker get for a long time all new sessions... OK. Will check. Seems very reasonable. See also Rainers Jung mail Can you forward that. Seems I can not find it. b) I have play around with the mod_jk2 lb algo and find the level feature (hot-standby) very usefull. I'll have to check whether it will break something. Some patch would be more then welcome :). MT. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Multiple Tomcat Instance Question
I have been experimenting with embedding Tomcat except embedding the full normal distribution via Bootstrap rather than fiddling with the embedded distribution. A few questions arise from this: 1. When using multiple Tomcats, e.g. with CATALINA_BASE, etc, does one always need separate 'work' directories? * With a huge web app with 1000's of JSPs, it is a bit obnoxious to have 'n' copies of all of this. Yes, I could pre-populate this via precompilation and copying, but this still consumes a lot of disk. * If I could share one 'work' directory across all instances, would I then have to disable all further JSP compilation to avoid multi-process race conditions, or is this all handled? 2. Are there any guides out there on how to do this sort of embedding? * I'm pretty familiar with server.xml, web.xml, etc, etc, and the CATALINA_BASE approach with a full deployment seems simple enough -- but I'm unsure what I well known/documented alternatives I might be missing. One note on CATALINA_BASE: Without a $CATALINA_BASEE/webapps directory any Context XML files defining web apps in conf/** seem to be silently ignored. I don't have anything I want to place in the webapps directory, though. This may be a side-effect of me continuing to use the out-of-the-box server.xml to this point, which references 'webapps', but it took me some time to discover. Related note on 5.5.x and Context bearing .xml files: These now have to have the same name as the web app (at least in 5.5.3), whereas one used to be able to name them anything at all and just change the web app name in the Context element. Not a big deal, but a surprising change. [I actually ended up using jconsole to visually diff between a working Tomcat instance of an older version and 5.5.3.] -- Jess Holle
i18n Question Tomcat 5.5 cvs head
Hey, I have problems to load application with de_DE locale. === Stacktrace === 04.10.2004 22:52:04 org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-7380 04.10.2004 22:52:04 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 2584 ms 04.10.2004 22:52:05 org.apache.catalina.core.StandardService start INFO: Starting service Catalina 04.10.2004 22:52:05 org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/5.5.0-dev 04.10.2004 22:52:05 org.apache.catalina.core.StandardHost start INFO: XML validation disabled 04.10.2004 22:52:05 org.apache.catalina.startup.HostConfig deployDescriptor SCHWERWIEGEND: Error deploying configuration descriptor admin.xml java.util.MissingResourceException: Can't find bundle for base name org.apache.n aming.resources.LocalStrings, locale de_DE at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle .java:804) at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:773) at java.util.ResourceBundle.getBundle(ResourceBundle.java:511) at org.apache.naming.StringManager.init(StringManager.java:67) at org.apache.naming.StringManager.getManager(StringManager.java:212) at org.apache.naming.resources.BaseDirContext.init(BaseDirContext.java :85) at org.apache.naming.resources.FileDirContext.init(FileDirContext.java :71) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3 889) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase .java:755) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:73 9) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.ja va:590) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.j ava:535) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470 ) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1079) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java :310) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl eSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1011) at org.apache.catalina.core.StandardHost.start(StandardHost.java:718) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1003) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:437 ) at org.apache.catalina.core.StandardService.start(StandardService.java:4 50) at org.apache.catalina.core.StandardServer.start(StandardServer.java:200 9) at org.apache.catalina.startup.Catalina.start(Catalina.java:538) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409) 04.10.2004 22:52:05 org.apache.catalina.startup.HostConfig deployDescriptor SCHWERWIEGEND: Error deploying configuration descriptor manager.xml java.util.MissingResourceException: Can't find bundle for base name org.apache.n aming.resources.LocalStrings, locale de_DE at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle .java:804) at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:694) === After add -Duser.language=en to my CATALINA_OPTS all is working. Problem are the default LocaleStrings.properties from nameng resources ( naming-resources.jar) is at server loader and the web app load with webapp/common classloader. regards Peter - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: i18n Question Tomcat 5.5 cvs head
Peter Rossbach wrote: Hey, I have problems to load application with de_DE locale. === Stacktrace === 04.10.2004 22:52:04 org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-7380 04.10.2004 22:52:04 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 2584 ms 04.10.2004 22:52:05 org.apache.catalina.core.StandardService start INFO: Starting service Catalina 04.10.2004 22:52:05 org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/5.5.0-dev 04.10.2004 22:52:05 org.apache.catalina.core.StandardHost start INFO: XML validation disabled 04.10.2004 22:52:05 org.apache.catalina.startup.HostConfig deployDescriptor SCHWERWIEGEND: Error deploying configuration descriptor admin.xml java.util.MissingResourceException: Can't find bundle for base name org.apache.n aming.resources.LocalStrings, locale de_DE at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle .java:804) at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:773) at java.util.ResourceBundle.getBundle(ResourceBundle.java:511) at org.apache.naming.StringManager.init(StringManager.java:67) at org.apache.naming.StringManager.getManager(StringManager.java:212) at org.apache.naming.resources.BaseDirContext.init(BaseDirContext.java :85) at org.apache.naming.resources.FileDirContext.init(FileDirContext.java :71) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3 889) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase .java:755) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:73 9) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.ja va:590) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.j ava:535) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470 ) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1079) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java :310) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl eSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1011) at org.apache.catalina.core.StandardHost.start(StandardHost.java:718) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1003) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:437 ) at org.apache.catalina.core.StandardService.start(StandardService.java:4 50) at org.apache.catalina.core.StandardServer.start(StandardServer.java:200 9) at org.apache.catalina.startup.Catalina.start(Catalina.java:538) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409) 04.10.2004 22:52:05 org.apache.catalina.startup.HostConfig deployDescriptor SCHWERWIEGEND: Error deploying configuration descriptor manager.xml java.util.MissingResourceException: Can't find bundle for base name org.apache.n aming.resources.LocalStrings, locale de_DE at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle .java:804) at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:694) === After add -Duser.language=en to my CATALINA_OPTS all is working. Problem are the default LocaleStrings.properties from nameng resources ( naming-resources.jar) is at server loader and the web app load with webapp/common classloader. Delegation is causing problems on the StringManager class. So naming-resources is back in common/lib for now. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Question about the connection between Apache and Tomcat with JK
Hi, there, Apache is a C application while Tomcat is in pure Java. Would you please complain the mechanism for the communication between these two? Especially, does it use shared memory or a temporary file or sockets? In details, 1. It is feasible and straightforward to implement if using a temporary file as the media for IPC. However, its performance is a concern, due to the disk I/O. 2. If using shared memory, questions are, (1) Since Tomcat is in pure Java, what jdk APIs can be used to the access shared memory with specified address? (2) How to control the memory size? Say when a large amount data being communicated, how to handle the overfilling? Or, if the memory size allocated for the shared memory is too large, then obviously there is a waste in most cases. 3. If using sockets, jdk 1.4 has only socket for TCP and UDP. But when the apache and tomcat are deployed in the same machine, isn't it an overhead to go down to the lower layers when sending data stream, and go upwards when receiving data? Would you please give me a conceptual explanation or a pointer to some documents, and in addition what classes in Tomcat source code handling this IPC as well as the C modules of Apache? Many thanks, Kan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about the connection between Apache and Tomcat with JK
Kan Deng wrote: Hi, there, Apache is a C application while Tomcat is in pure Java. Would you please complain the mechanism for the communication between these two? Especially, does it use shared memory or a temporary file or sockets? It uses sockets and AJP13 protocol for communication. Would you please give me a conceptual explanation or a pointer to some documents, and in addition what classes in Tomcat source code handling this IPC as well as the C modules of Apache? The best way to start is: http://jakarta.apache.org/tomcat/connectors-doc/jk2/index.html Regards, MT. smime.p7s Description: S/MIME Cryptographic Signature
Re: Question about the connection between Apache and Tomcat with JK
MT, Many thanks for the prompt reply. I read into the document, however, didn't find the answer to my question as following, 3. If using sockets, jdk 1.4 has only socket for TCP and UDP. But when the apache and tomcat are deployed in the same machine, isn't it an overhead to go down to the lower layers when sending data stream, and go upwards when receiving data? Any hint? Kan On Thu, 23 Sep 2004 09:14:34 +0200, Mladen Turk [EMAIL PROTECTED] wrote: Kan Deng wrote: Hi, there, Apache is a C application while Tomcat is in pure Java. Would you please complain the mechanism for the communication between these two? Especially, does it use shared memory or a temporary file or sockets? It uses sockets and AJP13 protocol for communication. Would you please give me a conceptual explanation or a pointer to some documents, and in addition what classes in Tomcat source code handling this IPC as well as the C modules of Apache? The best way to start is: http://jakarta.apache.org/tomcat/connectors-doc/jk2/index.html Regards, MT. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about the connection between Apache and Tomcat with JK
Kan Deng wrote: MT, Many thanks for the prompt reply. I read into the document, however, didn't find the answer to my question as following, 3. If using sockets, jdk 1.4 has only socket for TCP and UDP. But when the apache and tomcat are deployed in the same machine, isn't it an overhead to go down to the lower layers when sending data stream, and go upwards when receiving data? Depends on the operating system itself. The smart one will never go down to the physical network layer for local communications. MT. smime.p7s Description: S/MIME Cryptographic Signature
Session Management Question
Hi All, This may have been answered elsewhere in the past but I'm struggling to find it if it has - though please point me in the direction of past answers if that's the case. I'm trying to understand how a single instance of Tomcat manages sessions. Is there any pooling/recycling of sesssion objects or are they created/destroyed as required? If they are pooled, is the size of this pool configurable? Also where can I find some good documentation on managing sessions across a cluster or load balanced instances? Does anyone know of a practical limit for the number of concurrent connections Tomcat can cope with on a reasonably out of the box Redhat installation (obviously file descriptor limits aside)? I realise this is more of a user question, but I figure members of this list are more likely to be able to provide me with the level of detail I'm looking for. Any info you can supply would be much appreciated (I also need to find this out with some urgency) Thanks in advance Mike --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.709 / Virus Database: 465 - Release Date: 22/06/2004 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Request dispatching question
Tomcat devs, I've noticed an interesting behaviour when moving some webapp code from Winstone to Tomcat, and I'd like to get an opinion on whether what it's by design, accidental or I've misinterpreted the spec (equal likelihood of any of the above). The webapp implements access control using a filter and a request wrapper. The filter is mapped to the protected directory, and any request that passes through gets checked for a token. If the token is not found, it dumps the contents of the request into a session object, and forwards to the login servlet. After the login is approved, the token is set, and a client side redirect to the original location is sent with a key added. On this second pass through the filter, the key is used to look up the session object storing the details of the original request. The filter constructs a request wrapper from that session object that makes the new request mimic the original one (eg when getRequestURI is called, it returns what the pre-authentication request's uri was, same for getServletPath, etc) This approach seems to work well with the first servlet, but if that servlet forwards to another servlet, it breaks down. It seems like on a forward, Tomcat sees that the request object it is handling is not the CoyoteRequestFacade and doesn't bother trying to reset the pathInfo, servletPath etc, so forwarding to a JSP seems to fail. It works ok on Winstone, because on a forward it unwraps the request until it hits something that's not a wrapper, resets the pathInfo/servletPath/etc, and passes it into the filter chain. It seems (from the outside) like Tomcat doesn't try more than one unwrap attempt. All of this is without yet looking at Tomcat source, so if I'm making a fool of myself just point me at a file and I'll disappear. My question is this (sorry I took so long to get to it) - what is the correct behaviour here ? Should it unwrap all the way, or only one step ? Is the behaviour I'm seeing expected or is something wrong ? Thanks in advance, Rick Knowles -- Servlet v2.4 container in a single 140KB jar file ? Try Winstone (http://winstone.sf.net/) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Newbee question
Hi all, I try to build tomcat from cvs distribution and failed. Command line %ant_home%\bin\ant all produces the following output BUILD FAILED D:\local\jakarta\jakarta-tomcat-4.0\build.xml:97: Following error occured while executing this line D:\local\jakarta\jakarta-tomcat-4.0\catalina\build.xml:953: Basedir D:\local\jakarta\jakarta-tomcat-connectors\util does not exist What can I do? Dmitry
RE: Newbee question
Hi, Use the default target, by just typing ant, rather than ant all. It will download and build dependencies. And please continue this discussion on tomcat-user, not tomcat-dev. Thanks, Yoav Shapira Millennium Research Informatics -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 28, 2004 10:28 AM To: [EMAIL PROTECTED] Subject: Newbee question Hi all, I try to build tomcat from cvs distribution and failed. Command line %ant_home%\bin\ant all produces the following output BUILD FAILED D:\local\jakarta\jakarta-tomcat-4.0\build.xml:97: Following error occured while executing this line D:\local\jakarta\jakarta-tomcat-4.0\catalina\build.xml:953: Basedir D:\local\jakarta\jakarta-tomcat-connectors\util does not exist What can I do? Dmitry - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
question about building tomcat from source
Hi all, This is my first time sending email to tomcat's developers mail list. I am a programer with a little experience in working with java and I am now try to build the tomcat 5 from the source in order to learn from the code and if possible I would like to contribute to the tomcat project. But after I download the ant script from the project's website at http://jakarta.apache.org/tomcat/tomcat-5.0-doc/build.xml. and then after the ant script download all the code and start to build from the source, the program get stopped at the compiler error as this: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java:827: error: Can't find constructor `org.apache.jasper.compiler.Generator$GenerateVisitor$5$ParamVisitor(Ljava/lang/String;)' in type `org.apache.jasper.compiler.Generator$GenerateVisitor$5$ParamVisitor'. [javac]n.getBody().visit(new ParamVisitor(sep)); and i have read the Generator.java and I find the ParamVisitor is a inner class in the same file so I think its the problem of my setting. So is there anyone could help for this question? Thank you very much! Best regard, Dennis __ Yahoo! Mail - 100 MB http://mail.yahoo.com.hk/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Bugzilla # 15337 question
Hi, I downloaded 5.0.19 a few weeks ago, and am trying to get our application running on Tomcat 5 to see if the performance will be a worthwhile upgrade over Tomcat 4. I am seeing ArrayOutOfBoundsExceptions in the JspReader class for several of our files. All of these files are single line files which do not appear to have a newline at the end of the file. These work correctly in Tomcat 4. Apparently it is desirable to leave them with no newline at the end of the file because they are used to generate titles for the HTML pages, and we didn't want newlines in the titles in the HTML. I have not been able to determine if it is actually legal to have a JSP file with no newline at the end of the file. Looking at JspReader the problem appears to occur in JspReader::skipUntil which starts at line 308 of the file /jakarta-tomcat-5.0.19-src/jakarta-tomcat-jasper/jasper2/src/share/org/apach e/jasper/compiler/JspReader.java. Unfortunately I don't have the stack trace. The exception was occurring at the line that calls peekChar() though. I added some code to catch the exception and try to deal with it, and it appears to work although I don't completely understand the underlying code. Here is my modified method: Mark skipUntil(String limit) throws JasperException { Mark ret = null; int limlen = limit.length(); int ch; skip: for (ret = mark(), ch = nextChar() ; ch != -1 ;\ ret = mark(), ch = nextChar()) { if (ch == limit.charAt(0)) { Mark restart = mark(); for (int i = 1 ; i limlen ; i++) { try { if (peekChar() == limit.charAt(i)) --- Exception occurs here nextChar(); else { reset(restart); continue skip; } } catch (ArrayIndexOutOfBoundsException e) { System.err.println(JspReader::skipUntil - ArrayIndexOutOfBoundsException); System.err.println(Limit param: \+limit+\); System.err.println(loop index: +i); System.err.println(Resetting stream, continuing to skip label.); System.err.println(Exception:); System.err.println(e); e.printStackTrace(System.err); reset(restart); continue skip; } } return ret; } } return null; } Bugzilla # 15377 is the only similar lead I could find by searching the web, however it doesn't seem to fix this particular problem and/or the fix was made a long time ago and was lost in a fork. (The bug is marked December 2002) I'm not sure if my addition is correct, or if the correct answer is that the JSP files must be changed. However it would seem obvious that if the JSP files need to be changed, the compiler needs to report the file as an error, rather than crashing the compiler. I would like to figure out who is the appropriate person to discuss this with, and what I should do. In the meantime I'll go forward with our evaluation with this little patch in place. I guess the best answer would be if I was told this is fixed in 5.0.24 or something like that, but I don't see anything in the changelogs. Thank you, Ben Boule - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question on 5.0.23
Costin Manolache wrote: Remy Maucherat wrote: Au menu: - Using Embedded - Using JMX (which I think is cool) - Using the in-memory connector Speaking of which, the in-memory connector might be good for a bare bones JNI connector, if someone wants to try. The current JK JNI has about the same overhead os a socket, so it could improve performance. What do you mean by same overhead as a socket ? If you remember, when I benched it (some time ago), it had about the same performance as a regular socket based AJP connection. It was slightly faster than socket on some configurations (with IIS, for example), but still significantly slower than the standalone connector. I still don't see where I made a mistake, but it would be good if someone tested this again. It does go through the same marshaling process - because JNI has a huge cost on Strings and almost anything that requires allocation. But at least the current version should be a bit faster than TCP or unix domain. That's quite possible, I don't know. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question on 5.0.23
Remy Maucherat wrote: Au menu: - Using Embedded - Using JMX (which I think is cool) - Using the in-memory connector Speaking of which, the in-memory connector might be good for a bare bones JNI connector, if someone wants to try. The current JK JNI has about the same overhead os a socket, so it could improve performance. What do you mean by same overhead as a socket ? It does go through the same marshaling process - because JNI has a huge cost on Strings and almost anything that requires allocation. But at least the current version should be a bit faster than TCP or unix domain. Costin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question on 5.0.23
Remy Maucherat wrote: Shapira, Yoav wrote: Hi, I have a strange issue with 5.0.23 that's making me question my stable vote from earlier today. It has to do with a 3rd party servlet which checks for the presence of a cookie, if not found prompts for some user information, and then redirects (response.sendRedirect) to another page. The exact same code base and test case works in 5.0.19 but not in 5.0.23. Was something relevant changed? Looking at the changelog, I'd like clarification on: Optimization: delay parsing of the cookies (remm) I'm running Sun JDK 1.4.2 on Solaris 8 (all patches installed). As I mentioned it works with tomcat 5.0.19. I'll proceed to try the intermediate builds 5.0.20, 5.0.21, and 5.0.22 to further narrow the possibilities. Thanks, I did find what the problem was: I did some testing, so I checked out an earlier revision of the file (CoyoteRequest, of course). Unfortunately, I'm using a new CVS tool with which I have less experience (tortoise) - not that I wanted to, but WinCVS decided to simply stop working one day - which doesn't display tags in a visible way, and the result is that an older revision of the file is in the build :( Well, this sounds quite alarming to me. Looks like there is no guarantee that the contents of the build really contains the intended codeline. Could some practices be established that would prevent such situation from happening? For example: - use command line CVS to check out sources for production builds - for production builds, always do a clean check out (use an empty directory) - write an Ant script that checks out sources for production build Would this help? Thanks Petr I'll have to do a new 5.0.24 build today, then. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question on 5.0.23
Which watchdog is it? Can you send me the other part (tld and tag handler) of it? If the tag is of a TAGDEPENDENT body type, then its body is should not be evaluated. It used to be evaluated in XML syntax, which is wrong and which is what the patch intend to fix. If this is the case, then the golden file for the watchdog test should be replaced. -Kin-man Date: Wed, 05 May 2004 02:26:32 +0200 From: Remy Maucherat [EMAIL PROTECTED] Subject: Re: Question on 5.0.23 To: Tomcat Developers List [EMAIL PROTECTED] I have some possible problems with Jasper and XML syntax. One example from old watchdog: jsp:root xmlns:jsp=http://java.sun.com/JSP/Page; version=1.2 xmlns:direct=urn:jsptld:/WEB-INF/tlds/example-taglib.tld jsp:text![CDATA[html titlepositiveDirectTldReference/title body ]]/jsp:text jsp:text![CDATA[ ]]/jsp:text direct:test toBrowser=true att1=att1 jsp:text![CDATA[ Validated ]]/jsp:text /direct:test jsp:text![CDATA[ /body /html ]]/jsp:text /jsp:root Generates for the tag: do { out.write(jsp:text); out.write(\n); out.write(Validated\n); out.write(/jsp:text); out.write('\n'); int evalDoAfterBody = _jspx_th_direct_test_0.doAfterBody(); member = (String) _jspx_page_context.findAttribute(member); if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN) break; } while (true); So the tag body is not getting evaluated. I suspect this patch, which was not yet present in 5.0.22: kinman 2004/04/16 16:22:30 Modified:jasper2/src/share/org/apache/jasper/compiler JspDocumentParser.java Log: - Fix a bug where a custom tag with tagdependent body type is not handled correctly in XML syntax. The fix would have been trivial if not for the cases where jsp:attribute and/or jsp:body is present. I'm not too big on tags though, so I don't know for sure if it's even a bug. (et hop, 5.0.25 ... :/ ) Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question on 5.0.23
Kin-Man Chung wrote: Which watchdog is it? Can you send me the other part (tld and tag handler) of it? It's Watchdog 4. It's the XML tests (obviously), and it is run in the release target. If the tag is of a TAGDEPENDENT body type, then its body is should not be evaluated. It used to be evaluated in XML syntax, which is wrong and which is what the patch intend to fix. If this is the case, then the golden file for the watchdog test should be replaced. This is the declaration for the tag: tag nametest/name tag-classtags.TestTag/tag-class tei-classtags.TestTagExtraInfo/tei-class body-contenttagdependent/body-content description test message. /description attribute nametoBrowser/name requiredfalse/required /attribute attribute nameatt1/name requiredtrue/required /attribute attribute nameatt2/name requiredfalse/required /attribute /tag So this looks tagdependent, and it's ok then. I think the other similar problems are the same. Thanks. (surprise, no 5.0.25 then) (I have to assume some people will complain) Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Question on 5.0.23
Hi, I have a strange issue with 5.0.23 that's making me question my stable vote from earlier today. It has to do with a 3rd party servlet which checks for the presence of a cookie, if not found prompts for some user information, and then redirects (response.sendRedirect) to another page. The exact same code base and test case works in 5.0.19 but not in 5.0.23. Was something relevant changed? Looking at the changelog, I'd like clarification on: Optimization: delay parsing of the cookies (remm) I'm running Sun JDK 1.4.2 on Solaris 8 (all patches installed). As I mentioned it works with tomcat 5.0.19. I'll proceed to try the intermediate builds 5.0.20, 5.0.21, and 5.0.22 to further narrow the possibilities. Thanks, Yoav Shapira Millennium Research Informatics This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question on 5.0.23
Shapira, Yoav wrote: Hi, I have a strange issue with 5.0.23 that's making me question my stable vote from earlier today. It has to do with a 3rd party servlet which checks for the presence of a cookie, if not found prompts for some user information, and then redirects (response.sendRedirect) to another page. The exact same code base and test case works in 5.0.19 but not in 5.0.23. Was something relevant changed? Looking at the changelog, I'd like clarification on: Optimization: delay parsing of the cookies (remm) The cookies are parsed (and allocated) when getCookies() is called. I'm running Sun JDK 1.4.2 on Solaris 8 (all patches installed). As I mentioned it works with tomcat 5.0.19. I'll proceed to try the intermediate builds 5.0.20, 5.0.21, and 5.0.22 to further narrow the possibilities. Thanks, Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question on 5.0.23
Shapira, Yoav wrote: Hi, I have a strange issue with 5.0.23 that's making me question my stable vote from earlier today. It has to do with a 3rd party servlet which checks for the presence of a cookie, if not found prompts for some user information, and then redirects (response.sendRedirect) to another page. The exact same code base and test case works in 5.0.19 but not in 5.0.23. Was something relevant changed? Looking at the changelog, I'd like clarification on: Optimization: delay parsing of the cookies (remm) I'm running Sun JDK 1.4.2 on Solaris 8 (all patches installed). As I mentioned it works with tomcat 5.0.19. I'll proceed to try the intermediate builds 5.0.20, 5.0.21, and 5.0.22 to further narrow the possibilities. Thanks, I did find what the problem was: I did some testing, so I checked out an earlier revision of the file (CoyoteRequest, of course). Unfortunately, I'm using a new CVS tool with which I have less experience (tortoise) - not that I wanted to, but WinCVS decided to simply stop working one day - which doesn't display tags in a visible way, and the result is that an older revision of the file is in the build :( I'll have to do a new 5.0.24 build today, then. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Question on 5.0.23
Hi, I did find what the problem was: I did some testing, so I checked out an earlier revision of the file (CoyoteRequest, of course). Unfortunately, I'm using a new CVS tool with which I have less experience (tortoise) - not that I wanted to, but WinCVS decided to simply stop working one day - which doesn't display tags in a visible way, and the result is that an older revision of the file is in the build :( I'll have to do a new 5.0.24 build today, then. Thanks for the quick investigation and resolution. ;) I'm formally withdrawing my stable vote for 5.0.23 because of this bug. I couldn't find 5.0.20-5.0.22 for download, but IIRC 5.0.22 worked fine. I'll gladly test 5.0.24 as soon as it's available. Thanks again, Yoav Shapira This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question on 5.0.23
Shapira, Yoav wrote: Thanks for the quick investigation and resolution. ;) I'm formally withdrawing my stable vote for 5.0.23 because of this bug. I couldn't find 5.0.20-5.0.22 for download, but IIRC 5.0.22 worked fine. I'll gladly test 5.0.24 as soon as it's available. Thanks again, I did update the build. BTW, all past builds are available here: http://archive.apache.org/dist/jakarta/tomcat-5/ Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Question on 5.0.23
Hi, I did update the build. Thanks. Is it still 5.0.23 then, and I should re-download and retest? Yoav Shapira This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question on 5.0.23
Shapira, Yoav wrote: Thanks. Is it still 5.0.23 then, and I should re-download and retest? I don't like moving tags, so it's 5.0.24, and I picked up the right version for CoyoteRequest this time :-/ Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Question on 5.0.23
Hi, I don't like moving tags, so it's 5.0.24, and I picked up the right version for CoyoteRequest this time :-/ Downloaded and tested 5.0.24, it works fine. You hit the nail right on the head. I'm ready to vote on it. Thanks again, Yoav Shapira This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question on 5.0.23
I have some possible problems with Jasper and XML syntax. One example from old watchdog: jsp:root xmlns:jsp=http://java.sun.com/JSP/Page; version=1.2 xmlns:direct=urn:jsptld:/WEB-INF/tlds/example-taglib.tld jsp:text![CDATA[html titlepositiveDirectTldReference/title body ]]/jsp:text jsp:text![CDATA[ ]]/jsp:text direct:test toBrowser=true att1=att1 jsp:text![CDATA[ Validated ]]/jsp:text /direct:test jsp:text![CDATA[ /body /html ]]/jsp:text /jsp:root Generates for the tag: do { out.write(jsp:text); out.write(\n); out.write(Validated\n); out.write(/jsp:text); out.write('\n'); int evalDoAfterBody = _jspx_th_direct_test_0.doAfterBody(); member = (String) _jspx_page_context.findAttribute(member); if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN) break; } while (true); So the tag body is not getting evaluated. I suspect this patch, which was not yet present in 5.0.22: kinman 2004/04/16 16:22:30 Modified:jasper2/src/share/org/apache/jasper/compiler JspDocumentParser.java Log: - Fix a bug where a custom tag with tagdependent body type is not handled correctly in XML syntax. The fix would have been trivial if not for the cases where jsp:attribute and/or jsp:body is present. I'm not too big on tags though, so I don't know for sure if it's even a bug. (et hop, 5.0.25 ... :/ ) Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Is it a bug? A Servlet 2.3 Spec. question about forward.
Hi, Description of test case: In servlet1, use getServletContext().getRequestDispatcher().forward() to forward to servlet2, and in servlet2, call request.getRequestURL() Test result: Tomcat 4.1.30 return value is url for servlet1 WebLogic 8.1 return value is url for servlet2 In SRV8.4, The path elements of the request object exposed to the target servlet must reflect the path used to obtain the RequestDispatcher. path used to obtain the RequestDispatcher in this test case is the path for servlet2. Does request url belongs to those path elements? Thanks. Hugh __ Do you Yahoo!? Yahoo! Small Business $15K Web Design Giveaway http://promotions.yahoo.com/design_giveaway/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[www #17595] Is it a bug? A Servlet 2.3 Spec. question about forward.
Greetings. (This is an automated response. There is no need to reply.) Your message regarding: Is it a bug? A Servlet 2.3 Spec. question about forward. has been received and assigned a request number of 17595. In order help us track the progress of this request, we ask that you include the string [www #17595] in the subject line of any further mail about this particular request. For example: Subject: [www #17595] Is it a bug? A Servlet 2.3 Spec. question about forward. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about HttpServletRequest.getParameterValues()
Jan Luehe wrote: This is a bug. The String[] returned by req.getParameterValues() should have been a clone. I just committed a fix. I'd like to point out that this bug is not worth any performance drop. You should move those clones to the case where there's a security manager. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about HttpServletRequest.getParameterValues()
Remy Maucherat wrote: Jan Luehe wrote: This is a bug. The String[] returned by req.getParameterValues() should have been a clone. I just committed a fix. I'd like to point out that this bug is not worth any performance drop. You should move those clones to the case where there's a security manager. Fair enough. Jan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
SSL IIS encryption with tomcat question
I have setup Tomcat to work with IIS. for SSL requests, since IIS decrypts the request and passes it unencrypted to Tomcat, How do I encrypt the request so that all communication from IIS with Tomcat is secure - round trip encryption??? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Question about HttpServletRequest.getParameterValues()
Hey folks, I've just noticed something interesting... The 2.3 HttpServletRequest interface provides a setAttribute() method to change the values of a given attribute. It does NOT however provide a similar setParameter() method, allowing you to programatically modify the values that accompany the request - I assume this means that we shouldn't be able to change these values. What I've discovered however, is that if I _can_ modify parameter values by calling getParameterValues() (which returns String[]) and set the values that way. For instance: Enumeration enum = req.getParameterNames(); while (enum.hasMoreElements()) { String key =(String) enum.nextElement(); String vals[] = req.getParameterValues(key); for (int i=0, max=vals.length; imax; i++) { if (key.equalsIgnoreCase(password)) vals[i] = ; logger.info(...key:+key+ value:+vals[i]); } } This has the surprising (to me anyway) effect of actually _modifying_ the underlying value for the particular key. Is this simply an implementation oversight? I had assumed that the method would be returning a copy of the underlying data structure, rather than a reference to the structure itself. This isn't really a problem for me, but I thought it was interesting and I'm curious to know if this was intentional or not. Anyone care to comment? Thanks much, Christian -- Christian Cryder Internet Architect, ATMReports.com Project Chair, BarracudaMVC - http://barracudamvc.org -- Coffee? I could quit anytime, just not today - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about HttpServletRequest.getParameterValues()
Hi Christian, The 2.3 HttpServletRequest interface provides a setAttribute() method to change the values of a given attribute. It does NOT however provide a similar setParameter() method, allowing you to programatically modify the values that accompany the request - I assume this means that we shouldn't be able to change these values. What I've discovered however, is that if I _can_ modify parameter values by calling getParameterValues() (which returns String[]) and set the values that way. For instance: Enumeration enum = req.getParameterNames(); while (enum.hasMoreElements()) { String key =(String) enum.nextElement(); String vals[] = req.getParameterValues(key); for (int i=0, max=vals.length; imax; i++) { if (key.equalsIgnoreCase(password)) vals[i] = ; logger.info(...key:+key+ value:+vals[i]); } } This has the surprising (to me anyway) effect of actually _modifying_ the underlying value for the particular key. Is this simply an implementation oversight? I had assumed that the method would be returning a copy of the underlying data structure, rather than a reference to the structure itself. This isn't really a problem for me, but I thought it was interesting and I'm curious to know if this was intentional or not. Anyone care to comment? This is a bug. The String[] returned by req.getParameterValues() should have been a clone. I just committed a fix. Thanks, Jan Thanks much, Christian -- Christian Cryder Internet Architect, ATMReports.com Project Chair, BarracudaMVC - http://barracudamvc.org -- Coffee? I could quit anytime, just not today - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
checkContextLastModified() question
Hi, I'm looking into eliminating (or configuring) the delay between modifying my web.xml files and restarting of the context during development, which according to Yoav is not configurable. I looked into the code. However, I don't quite understand the criterion which is used to decide whether a reload should be performed. starting in line 783 in HostConfig if (newLastModified (webInfLastModified + 5000)) { webXmlLastModified.remove(contextName); restartContext(context); } else { webXmlLastModified.put (contextName, new Long(newLastModified)); } I don't understand the first comparison. The lastModified of web.xml must be at least 5 seconds after the lastModified of the WEB-INF directory? I'm sure I do not understand it correctly. Could someone please shed some light on this? Thanks in advance, Robert -- Robert Krüger Signal7 GmbH Brüder Knauss Str. 79 64285 Darmstadt Germany - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Design Question in TomCat 5
Hi, I read an onjava.com article regarding new features in Tomcat 5. In that article, it said a whole new mapper was implemented that generates little or no garbage (lots of object recycling is going on in there). And that improves performance. But from Sun's web page, it said do not pool objects. So my question is Is it a good idea to do object pooling for the sake of performance improvement? Thank you. From onjava.com article, http://www.onjava.com/pub/a/onjava/2004/01/28/tomcat5.html?page=1 Tomcat 5.0 has had many garbage creation (read performance enhancement) changes since Tomcat 4.1. Tomcat 5.0's single most important garbage-creation refactoring was the new request URI mapper. After some optimization profiling, Tomcat 4.1's request pipeline was found to create excess garbage while mapping a Connector's requests to the proper Container. For Tomcat 5, a whole new mapper was implemented that generates little or no garbage (lots of object recycling is going on in there), and thus Tomcat 5.0's request pipeline performs noticeably better than that of Tomcat 4.1. This also lowers the overall memory usage compared to Tomcat 4.1, which helps to prevent OutOfMemoryExceptions in the web apps it runs, and helps Tomcat 5 to scale higher vertically (i.e. higher scalability on a single machine). From http://java.sun.com/docs/hotspot/gc1.4.2/faq.html 31. Should I pool objects to help GC? Should I call System.gc() periodically? The answer to these is No! Pooling objects will cause them to live longer than necessary. We strongly advise against object pools.
RE: Design Question in TomCat 5
Howdy, But from Sun's web page, it said do not pool objects. So my question is Is it a good idea to do object pooling for the sake of performance improvement? Do not pool objects is an overly general tip. If objects are expensive to create, pooling them is a classical way to enhance performance of a system. Yoav Shapira This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Design Question in TomCat 5
As Yoav said, pooling is a question of how expensive it is to create them. Also to add in there are many more factors to consider 1. how expensive is it to GC in a non pooled environment 2. how expensive is it to synchronize to keep your pool thread safe so it all becomes a question of the scenario that you have, it is not general Filip - Original Message - From: Shapira, Yoav [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Sent: Thursday, January 29, 2004 11:11 AM Subject: RE: Design Question in TomCat 5 Howdy, But from Sun's web page, it said do not pool objects. So my question is Is it a good idea to do object pooling for the sake of performance improvement? Do not pool objects is an overly general tip. If objects are expensive to create, pooling them is a classical way to enhance performance of a system. Yoav Shapira This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Design Question in TomCat 5
hi, i too wondered about this. i agree with you that Sun's suggestion of not using object pooling should not be applied in all cases. so let me point out a specific case. i guess Request and response objects are recycled and in the recycle method, all variables are cleared, if they are collection objects, or are set to null. this means you anyway end up creating all the objects again. you end up saving some memory allocation overhead of creating the request object and may be some collection objects. But this is at the cost of doing all the stuff in the recycle method and the added complexity in the code. i guess this is what the sun's site speaks about that memory allocation is no more costly, especially in the newer jvms(say 1.4.2). so my specific question is that do we need to recycle request and response objects when using jdk1.4.2? thanks, nishant. On Fri, 2004-01-30 at 00:53, Filip Hanik wrote: As Yoav said, pooling is a question of how expensive it is to create them. Also to add in there are many more factors to consider 1. how expensive is it to GC in a non pooled environment 2. how expensive is it to synchronize to keep your pool thread safe so it all becomes a question of the scenario that you have, it is not general Filip - Original Message - From: Shapira, Yoav [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Sent: Thursday, January 29, 2004 11:11 AM Subject: RE: Design Question in TomCat 5 Howdy, But from Sun's web page, it said do not pool objects. So my question is Is it a good idea to do object pooling for the sake of performance improvement? Do not pool objects is an overly general tip. If objects are expensive to create, pooling them is a classical way to enhance performance of a system. Yoav Shapira This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
OT, a bit: Help a journalist with a CMS question
Hi. I'd appreciate some help from real people who are working with software configuration management tools. I'm writing an article for the new magazine, Software Test and Performance (http://stpmag.com); the new publication is coming from the same folks who do Software Development Times (http://www.sdtimes.com), where I'm a contributing editor. I have the bizarre idea that it should reflect what people who work in the field actually _do_. I've been asked to compile a short list of best practices for configuration management tools - though personally I think of it as the things I wish I knew before I got into this. Or, maybe, If you had someone to help you when you started with this kind of software, what do you wish they'd told you? Note that I'm not looking for anything that's product- or vendor-specific. (I don't *hate* the idea, but tool-specific stuff isn't useful to people not using that particular tool.) For example, what advice would you offer to someone who hasn't yet chosen a tool? What REALLY DUMB MISTAKE do you wish that you had learned from someone _else's_ experience? What are the unforeseen problems that messed up your development or deployment schedule? I want to compile a list of five-or-so pithy points (not the read the manual stuff -- don't you hate stupid articles like that?) which I hope will really help other folks like you. Feel free to contact me privately ([EMAIL PROTECTED]), though I'll do my best to check in here as well. It'd be cool if I can quote you by name and company affiliation, but I don't mind being vague about says Kim, a developer for a midwest insurance company if that's necessary. (Also, it's cool if you forward this message to other developers. I need to have input by Friday, January 30, 2004 in order to get my article done on time -- so don't bother answering after that date.) Esther Schindler writing for Software Test Performance (at the moment, anyway) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Question about a JCP proposition
Hello, I'd like to propose an addition to the Servlet specification through the JCP, but thought I'd ask first on the tomcat-dev list if anyone has seen a similar request. There is currently no way in the Servlet spec to know the number of bytes that have been read as a ServletRequest is being processed. By the time Servlet.service() or Filter.doFilter() are called, the *entire* InputStream has been read from the socket. But what if one is trying to implement certain behavior after every n bytes have been consumed? There is presently no way to do this without writing a custom Servlet Container (or extending Coyote). Likewise, the same holds true for knowing the number of bytes that have been written to an OutputStream in real-time. I believe these capabilities can be supported with the addition of one new EventListener interface, something like: public interface javax.servlet.ServletStreamListener { /** * Called repeatedly by the Servlet container * after n bytes have been read/written to/from a ServletRequest * or ServletResponse, where n is the integer returned by * getCallbackThreshold(). */ public void thresholdReached(); /** * The number of bytes to read/write before calling * thresholdReached(). */ public int getCallbackThreshold(); } Has anyone seen this kind of specification request made before? I'd rather not waste the time of JSR154/JCP if this is a common request that has been previously shot down. Thank you, Eric H. Jung [EMAIL PROTECTED] -- http://www.fastmail.fm - IMAP accessible web-mail - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about a JCP proposition
no answer?? = A.Mahadevan __ Do you Yahoo!? New Yahoo! Photos - easier uploading and sharing. http://photos.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Question about a JCP proposition
Howdy, no answer?? You must be in a big rush -- I just got the message, I figure others may have not even checked their mail yet ;) There is currently no way in the Servlet spec to know the number of bytes that have been read as a ServletRequest is being processed. By the time Servlet.service() or Filter.doFilter() are called, the *entire* InputStream has been read from the socket. But what if one is trying to implement certain behavior after every n bytes have been consumed? There is presently no way to do this without writing a custom Servlet Container (or extending Coyote). I'm not a big fan of the request, for two reasons: - It's too low-level for the spirit of the Servlet Specification, - It'd be hard for the container to support these listeners in a performant manner. The above are just IMHO, off the top of my head, without thinking about it much. What's a realistic use-case? As to your other question: I've never seen this request before. Yoav Shapira This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Question about a JCP proposition
You must be in a big rush -- I just got the message, I figure others may have not even checked their mail yet ;) I didn't post that no answer? message. It's too low-level for the spirit of the Servlet Specification, That's discouraging. - It'd be hard for the container to support these listeners in a performant manner. Agreed. It would surely affect the i/o buffer size if set to a small value.; in the case of Tomcat I believe this is org.apache.coyote.http11.Constants.DEFAULT_HTTP_HEADER_BUFFER_SIZE (48k). However, wouldn't prolific JavaDoc ameliorate that issue? it much. What's a realistic use-case? One use-case is to be able to provide an accurate upload or download meter; I'm not aware of any way to do this with Servletsare you? (Note I said accurate, not something like an animated gif which is just a fancy wait cursor). On Tue, 23 Dec 2003 08:43:36 -0500, Shapira, Yoav [EMAIL PROTECTED] said: Howdy, no answer?? You must be in a big rush -- I just got the message, I figure others may have not even checked their mail yet ;) There is currently no way in the Servlet spec to know the number of bytes that have been read as a ServletRequest is being processed. By the time Servlet.service() or Filter.doFilter() are called, the *entire* InputStream has been read from the socket. But what if one is trying to implement certain behavior after every n bytes have been consumed? There is presently no way to do this without writing a custom Servlet Container (or extending Coyote). I'm not a big fan of the request, for two reasons: - It's too low-level for the spirit of the Servlet Specification, - It'd be hard for the container to support these listeners in a performant manner. The above are just IMHO, off the top of my head, without thinking about it much. What's a realistic use-case? As to your other question: I've never seen this request before. Yoav Shapira This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- http://www.fastmail.fm - mmm... Fastmail... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Question about a JCP proposition
Howdy, - It'd be hard for the container to support these listeners in a performant manner. Agreed. It would surely affect the i/o buffer size if set to a small value.; in the case of Tomcat I believe this is org.apache.coyote.http11.Constants.DEFAULT_HTTP_HEADER_BUFFER_SIZE (48k). However, wouldn't prolific JavaDoc ameliorate that issue? JavaDoc along with a default configuration that retains current performance might be OK. One use-case is to be able to provide an accurate upload or download meter; I'm not aware of any way to do this with Servletsare you? (Note I said accurate, not something like an animated gif which is just a fancy wait cursor). It's funny you raise this point now. We're discussing adding a progress bar to commons-fileupload on the commons-dev list. You may wish to join/follow the discussion, as two other people have what they claim are accurate implementations. Needless to say, neither of them is asking for a servlet specification change. Do you have any other use cases? Yoav Shapira This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Question about a JCP proposition
Hi Yoav, Thanks for the replies. Beleive it or not, this request comes directly from my attempts to extends commons-fileupload to support a progress bar. I have spent a lot of time on this topic and can add a lot to the discussions on commons-dev. I would be very interested to see how the other two have done an implementation with commons-fileupload since I was not able to achieve one reliably without modifying some Tomcat classes (e.g: org.apache.coyote.http11.InternalInputBuffer, InternalOutputBuffer, Http11Processor). I have checked the mail-archives.com but the posts aren't there yet... Anxiously waiting, Eric On Tue, 23 Dec 2003 13:23:28 -0500, Shapira, Yoav [EMAIL PROTECTED] said: Howdy, - It'd be hard for the container to support these listeners in a performant manner. Agreed. It would surely affect the i/o buffer size if set to a small value.; in the case of Tomcat I believe this is org.apache.coyote.http11.Constants.DEFAULT_HTTP_HEADER_BUFFER_SIZE (48k). However, wouldn't prolific JavaDoc ameliorate that issue? JavaDoc along with a default configuration that retains current performance might be OK. One use-case is to be able to provide an accurate upload or download meter; I'm not aware of any way to do this with Servletsare you? (Note I said accurate, not something like an animated gif which is just a fancy wait cursor). It's funny you raise this point now. We're discussing adding a progress bar to commons-fileupload on the commons-dev list. You may wish to join/follow the discussion, as two other people have what they claim are accurate implementations. Needless to say, neither of them is asking for a servlet specification change. Do you have any other use cases? Yoav Shapira This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- http://www.fastmail.fm - Accessible with your email software or over the web - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Intro/question possible buglet with Content-Type and Charsets - now more of an RFC
Hello All, I know it may be considered rude to reply to my own post, but it seems to have fallen on deaf ears. In trying to solve the problems I seem to be going round in circles trying to find a fix within the tomcat source - can someone point me in right direction? Any clues as to how to proceed would be most welcome. Should I reopen the bug, as it would appear that the supplied fix, does not. Not wishing to put anyones backs up, Thanks, Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Intro/question possible buglet with Content-Type and Charsets .
Instructions added to http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24970 -Tim Tim Funk wrote: Yeah, nagoya.apache.org seems down. Hopefully it will be back soon. The bug has good detail of what and how to fix. -Tim [EMAIL PROTECTED] wrote: Thanks Tim, Having a little trouble getting anything from bugzilla, nagoya.apache.org seems to be having a little trouble! Looking in the archives for this id, I see that someone has a 4.1.29 patch and a complied class, but cannot see either email address or content via the archive. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Intro/question possible buglet with Content-Type and Charsets .
Tim, Is this a CVS snapshot of Request.java/class? If so it does not appear to fix my problem (see other thread): Content-Type: application/vnd.ms-excel;charset=ISO-8859-1 Unless of course I am a complete idiot (highly probable) Thanks for your help thus far. Greg Instructions added to http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24970 -Tim Tim Funk wrote: - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Intro/question possible buglet with Content-Type and Charsets .
In the bug report, from Sven 2003-11-26 19:36 - he uploaded a file called Response.java. Whether it is a patched version, version from CVS, an incorrectly patched version, or a trojan is a matter of trust. But make sure the file is called Response.class, not Request.class -Tim [EMAIL PROTECTED] wrote: Tim, Is this a CVS snapshot of Request.java/class? If so it does not appear to fix my problem (see other thread): Content-Type: application/vnd.ms-excel;charset=ISO-8859-1 Unless of course I am a complete idiot (highly probable) Thanks for your help thus far. Greg Instructions added to http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24970 -Tim Tim Funk wrote: - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Intro/question possible buglet with Content-Type and Charsets .
Ah this still does not fix it I am afraid. Neither does the CVS patch. :-( Any objections to reopening the bug? Greg -Original Message- From: Tim Funk [mailto:[EMAIL PROTECTED] Sent: 19 December 2003 13:55 To: Tomcat Developers List Subject: Re: Intro/question possible buglet with Content-Type and Charsets . In the bug report, from Sven 2003-11-26 19:36 - he uploaded a file called Response.java. Whether it is a patched version, version from CVS, an incorrectly patched version, or a trojan is a matter of trust. But make sure the file is called Response.class, not Request.class -Tim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Intro/question possible buglet with Content-Type and Charsets .
[EMAIL PROTECTED] wrote: Ah this still does not fix it I am afraid. Neither does the CVS patch. :-( Any objections to reopening the bug? Well, yes. Please do not reopen the report. Revisions 1.30 or 1.31 do (really) resolve the issue. You can also use Tomcat 5.0.16, or 4.1.27; neither have this issue. New Tomcat releases will (likely) appear early in 2004 to include a few bugfixes, including this one for 4.1.x. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Intro/question possible buglet with Content-Type and Charsets .
[EMAIL PROTECTED] wrote: Ah this still does not fix it I am afraid. Neither does the CVS patch. :-( Any objections to reopening the bug? Well, yes. Please do not reopen the report. Revisions 1.30 or 1.31 do (really) resolve the issue. Pulled 1.31 from CVS - complied it with some debug statements and it appears that Response.java setContentType is being called with: application/vnd.ms-excel;charset=ISO-8859-1 When my code is: [EMAIL PROTECTED] contentType=application/vnd.ms-excel% Can someone tell me where the glue code between my JSP page is and the Response.class You can also use Tomcat 5.0.16, or 4.1.27; neither have this issue. In our environment it takes about 2 weeks of work to upgrade tomcat (testing, number of instances, and lot of documentation/evidence) hence I need a hotfix. New Tomcat releases will (likely) appear early in 2004 to include a few bugfixes, including this one for 4.1.x. Please see above. :-( ## my debug statements: Response.java setContentType is starting with: application/vnd.ms-excel;charset=ISO-8859-1 Response.java setContentType has ended up with: application/vnd.ms-excel;charset=ISO-8859-1 Response.java getContentType is hase content type of: application/vnd.ms-excel Response.java getContentType charsetSet and characterEncoding are true and is add+returning: application/vnd.ms-excel;charset=ISO-8859-1 Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]