Re: 5.next + 4.1.x future

2003-12-13 Thread Remy Maucherat
David Rees wrote:
On Fri, December 12, 2003 at 2:12 pm, Adam Fisk wrote:

I'd be happy to send my data to the group if people are interested.
Aside from memory, I was surprised to find that the effect on CPU was
negligible (not much of a benefit from no context-switching between
threads) -- CPU was virtually the same in both cases.  So, the scaling
benefits on Windows basically come from not having to allocate more
memory to new threads.  I'm unfortunately not as familiar with the
Tomcat code as I'd like to be, but I assume it makes intelligent use of
thread pooling, which may even the memory benefits of NIO negligible.
At the same time, though, NIO may remove some of the constraints
introduced by thread pooling, possibly allowing Tomcat to handle heavier
loads without blowing up.  An optimized NIO server would if anything
out-perform a blocking server, but maybe by not that much.
On current Linux systems, once you start getting 500+ processes/threads
active on a typical machine, you will find that context switching starts
taking up a significant amount of system time, especially if you decide to
run any system moniting tools (like ps, or top).  This is better with the
upcoming 2.6 kernels, but still doesn't scale to thousands of active
threads very well.
For purely switching, the benches I saw saw a linear scaling for the 
amount on processes in Linnux 2.6. I didn't try it, though.
There would be a significant amount of threads in wait mode. You can't 
have thousands of threads actually processing stuff anyway, you'll have 
problems with your database first, or your CPU in the case of XML.
I really wonder sometimes why some people think that NIO would make J2EE 
scale automagically. It could be a decent optimization for resources use 
(memory and some threads), but that's it, and it remains to be seen if 
it wouldn't cause a throughtput drop (in that case, it would be useless, 
given the amount of memory efficient VMs use to provide a similar 
throughtput increase).

However, given that you need a thread anyway to server any dynamic
content, I don't see NIO helping that much for your typical web
application.  I could see NIO helping scale the serving of static content
which would be useful where people are using Tomcat standalone.  Maybe
someone can prove me wrong.  ;-)
Static content is handled with a regular (well, almost) servlet, and all 
those requests have to go through the filter pipeline (ie, user 
components). This is the exact same problem when having Apache serve 
static files.

Nice try ;-)

Rémy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


"in the ClassLoader sense" on MBean manual

2003-12-13 Thread TANAKA Yoshihiro
To all committers,
I'd like to ask a question about Tomcat5 manual
while I'm translating it into Japanese.
(We have been translating all TC5 manuals into Japanese.)

In the part of,"Including your own mbean-descriptor files" clause
on "MBean Descriptor How To" page:
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/mbeans-descriptor-howto.html

You may configure custom components (e.g. Valves/Realms) by including
your own mbean-descriptor file(s), and setting the "descriptors"
attribute to point to a ';' separated list of paths (in the ClassLoader
sense) of files to add to the default list under ServerLifecycleListener
definition in server.xml.

I couldn't get the meaning of the phrase,"(in the ClassLoader sense)".
Does it mean, "like in the ClassLoader"?
Would someone please tell me in another words?

Regards.
--
   TANAKA Yoshihiro  /   http://www.ytp.ne.jp/
 ---


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: "in the ClassLoader sense" on MBean manual

2003-12-13 Thread Remy Maucherat
TANAKA Yoshihiro wrote:
To all committers,
I'd like to ask a question about Tomcat5 manual
while I'm translating it into Japanese.
(We have been translating all TC5 manuals into Japanese.)
In the part of,"Including your own mbean-descriptor files" clause
on "MBean Descriptor How To" page:
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/mbeans-descriptor-howto.html
You may configure custom components (e.g. Valves/Realms) by including
your own mbean-descriptor file(s), and setting the "descriptors"
attribute to point to a ';' separated list of paths (in the ClassLoader
sense) of files to add to the default list under ServerLifecycleListener
definition in server.xml.
I couldn't get the meaning of the phrase,"(in the ClassLoader sense)".
Does it mean, "like in the ClassLoader"?
Would someone please tell me in another words?
Yes, in the CL sense.
It's no longer useful with modeler 1.1, however: modeler will try to 
load a mbeans-descriptors.xml resource from the same package as your 
class, and then if not found there look into the "core" descriptor file 
(which are specified using the list you mention).

Rémy



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: "in the ClassLoader sense" on MBean manual

2003-12-13 Thread TANAKA Yoshihiro
on Sat, 13 Dec 2003 15:20:43 +0100
Remy Maucherat <[EMAIL PROTECTED]> wrote:

Got it! Thanks a lot.

>Yes, in the CL sense.
>It's no longer useful with modeler 1.1, however: modeler will try to 
>load a mbeans-descriptors.xml resource from the same package as your 
>class, and then if not found there look into the "core" descriptor file 
>(which are specified using the list you mention).
>
>Rémy

--
   TANAKA Yoshihiro  /   http://www.ytp.ne.jp/
 ---



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



"in the ClassLoader sense" on MBean manual

2003-12-13 Thread TANAKA Yoshihiro
To all committers,
I'd like to ask a question about Tomcat5 manual
while I'm translating it into Japanese.
(We have been translating all TC5 manuals into Japanese.)

In the part of,"Including your own mbean-descriptor files" clause
on "MBean Descriptor How To" page:
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/mbeans-descriptor-howto.html

You may configure custom components (e.g. Valves/Realms) by including
your own mbean-descriptor file(s), and setting the "descriptors"
attribute to point to a ';' separated list of paths (in the ClassLoader
sense) of files to add to the default list under ServerLifecycleListener
definition in server.xml.

I couldn't get the meaning of the phrase,"(in the ClassLoader sense)".
Does it mean, "like in the ClassLoader"?
Would someone please tell me in another words?

Regards.
--
   TANAKA Yoshihiro  /   http://www.ytp.ne.jp/
 ---


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/webapps/docs/architecture - New directory

2003-12-13 Thread yoavs
yoavs   2003/12/13 08:58:49

  jakarta-tomcat-catalina/webapps/docs/architecture - New directory

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/webapps/docs/architecture/requestProcess - New directory

2003-12-13 Thread yoavs
yoavs   2003/12/13 09:17:58

  jakarta-tomcat-catalina/webapps/docs/architecture/requestProcess - New directory

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/webapps/docs/architecture/startup - New directory

2003-12-13 Thread yoavs
yoavs   2003/12/13 09:17:58

  jakarta-tomcat-catalina/webapps/docs/architecture/startup - New directory

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/webapps/docs/architecture/startup serverStartup.pdf serverStartup.txt

2003-12-13 Thread yoavs
yoavs   2003/12/13 09:18:57

  Added:   webapps/docs/architecture index.xml index.xml~ project.xml
project.xml~ requestProcess.xml startup.xml
   webapps/docs/architecture/requestProcess requestProcess.pdf
roseModel.mdl
   webapps/docs/architecture/startup serverStartup.pdf
serverStartup.txt
  Log:
  Architecture documents first draft.
  
  Revision  ChangesPath
  1.1  jakarta-tomcat-catalina/webapps/docs/architecture/index.xml
  
  
http://cvs.apache.org/viewcvs/jakarta-tomcat-catalina/webapps/docs/architecture/index.xml?rev=1.1
  
  
  1.1  jakarta-tomcat-catalina/webapps/docs/architecture/index.xml~
  
<>
  
  
  1.1  jakarta-tomcat-catalina/webapps/docs/architecture/project.xml
  
  
http://cvs.apache.org/viewcvs/jakarta-tomcat-catalina/webapps/docs/architecture/project.xml?rev=1.1
  
  
  1.1  jakarta-tomcat-catalina/webapps/docs/architecture/project.xml~
  
<>
  
  
  1.1  
jakarta-tomcat-catalina/webapps/docs/architecture/requestProcess.xml
  
  
http://cvs.apache.org/viewcvs/jakarta-tomcat-catalina/webapps/docs/architecture/requestProcess.xml?rev=1.1
  
  
  1.1  jakarta-tomcat-catalina/webapps/docs/architecture/startup.xml
  
  
http://cvs.apache.org/viewcvs/jakarta-tomcat-catalina/webapps/docs/architecture/startup.xml?rev=1.1
  
  
  1.1  
jakarta-tomcat-catalina/webapps/docs/architecture/requestProcess/requestProcess.pdf
  
<>
  
  
  1.1  
jakarta-tomcat-catalina/webapps/docs/architecture/requestProcess/roseModel.mdl
  
  
http://cvs.apache.org/viewcvs/jakarta-tomcat-catalina/webapps/docs/architecture/requestProcess/roseModel.mdl?rev=1.1
  
  
  1.1  
jakarta-tomcat-catalina/webapps/docs/architecture/startup/serverStartup.pdf
  
<>
  
  
  1.1  
jakarta-tomcat-catalina/webapps/docs/architecture/startup/serverStartup.txt
  
  
http://cvs.apache.org/viewcvs/jakarta-tomcat-catalina/webapps/docs/architecture/startup/serverStartup.txt?rev=1.1
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/webapps/docs index.xml project.xml

2003-12-13 Thread yoavs
yoavs   2003/12/13 09:21:21

  Modified:webapps/docs index.xml project.xml
  Log:
  Added links to architecture
  
  Revision  ChangesPath
  1.13  +3 -0  jakarta-tomcat-catalina/webapps/docs/index.xml
  
  Index: index.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/index.xml,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- index.xml 25 Nov 2003 18:24:09 -  1.12
  +++ index.xml 13 Dec 2003 17:21:21 -  1.13
  @@ -154,6 +154,9 @@
   Jasper Javadocs
   - Javadoc API documentation for the Jasper JSP container
   portion of Tomcat 5.
  +Tomcat Architecture
  +- Documentation of the Tomcat Server Architecture.
  +
   
   
   
  
  
  
  1.19  +1 -0  jakarta-tomcat-catalina/webapps/docs/project.xml
  
  Index: project.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/project.xml,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- project.xml   29 Nov 2003 22:11:22 -  1.18
  +++ project.xml   13 Dec 2003 17:21:21 -  1.19
  @@ -57,6 +57,7 @@
   
   
   
  +
   
   
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/webapps/docs/architecture project.xml

2003-12-13 Thread yoavs
yoavs   2003/12/13 09:21:52

  Modified:webapps/docs/architecture project.xml
  Log:
  Corrected XML
  
  Revision  ChangesPath
  1.2   +5 -5  jakarta-tomcat-catalina/webapps/docs/architecture/project.xml
  
  Index: project.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/architecture/project.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- project.xml   13 Dec 2003 17:18:57 -  1.1
  +++ project.xml   13 Dec 2003 17:21:52 -  1.2
  @@ -12,14 +12,14 @@
   
   
   
  -
  +
   
   
   
  -
  -
  -
  -
  +
  +
  +
  +
   
   
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/webapps/docs/architecture overview.xml

2003-12-13 Thread yoavs
yoavs   2003/12/13 09:51:53

  Added:   webapps/docs/architecture overview.xml
  Log:
  Added overview first draft.
  
  Revision  ChangesPath
  1.1  jakarta-tomcat-catalina/webapps/docs/architecture/overview.xml
  
  Index: overview.xml
  ===
  
  
  ]>
  
  
&project;
  

  Yoav Shapira
  Architecture Overview/title>

  
  
  
  
  
  
  This page provides an overview of the Tomcat server architecture.
  
  
  
  
  
  
  
  In the Tomcat world, a
  Server represents the whole container.
  Tomcat provides a default implementation of the 
  Server interface.,
  and this is rarely customized by users.
  
  
  
  
  
  A Service is an intermediate component
  which lives inside a Server and ties one or more Connectors to exactly one
  Engine.  The Service element is rarely customized by users, as the default
  implementation is simple and sufficient:
  Service 
interface.
  
  
  
  
  
  An
  Engine represents request processing
  pipeline for a specific Service.  As a Service may have multiple Connectors,
  the Engine received and processes all requests from these connectors, handing
  the response back to the appropriate connector for transmission to the client.
  The Engine 
interface
  may be implemented to supply custom Engines, though this is uncommon.
  
  
  Note that the Engine may be used for Tomcat server clustering via the
  jvmRoute parameter.  Read the Clustering documentation for more information.
  
  
  
  
  
  A Host is an association of a network name,
  e.g. www.yourcompany.com, to the Tomcat server.  An Engine may contain
  multiple hosts, and the Host element also supports network aliases such as
  yourcompany.com and abc.yourcompany.com.  Users rarely create custom
  Hosts
  because the 
  StandardHost
  implementation provides significant additional functionality.
  
  
  
  
  
  A Connector handles communications with the client.  There are multiple
  connectors available with Tomcat, all of which implement the 
  Connector
  interface.  These include the
  Coyote connector which is used for
  most HTTP traffic, especially when running Tomcat as a standalone server, 
  and the JK2 connector which implements
  the AJP procotol used when connecting Tomcat to an Apache HTTPD server.
  Creating a customized connector is a significant effort.
  
  
  
  
  
  A
  Context
  represents a web application.  A Host may contain multiple
  contexts, each with a unique path.  The
  Context
  interface may be implemented to create custom Contexts, but
  this is rarely the case because the
  
  StandardContext provides significant additional functionality.
  
  
  
  
  
  
  Tomcat is designed to be a fast and efficient implementation of the
  Servlet Specification.  Tomcat came about as the reference implementation
  of this specification, and has remained rigorous in adhering to the
  specification.  At the same time, significant attention has been paid
  to Tomcat's performance and it is now on par with other servlet containers,
  including commercial ones.
  
  
  In recent releases of Tomcat, mostly starting with Tomcat 5,
  we have begun effots to make more aspects of Tomcat managable via
  JMX.  In addition, the Manager and Admin webapps have been greatly
  enhanced and improved.  Managability is a primary area of concern
  for us as the product matures and the specification becomes more
  stable.
  
  
  
  
  
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: cvs commit: jakarta-tomcat-catalina/webapps/docs/architecture/startup serverStartup.pdf serverStartup.txt

2003-12-13 Thread Tim Funk
Can project.xml~ and index.xml~ be removed? They look like [editor] backup files.

(I might be early on this one) Is an update also coming for 
j-t-catalina/webapps/docs/build.xml? The architecture dir isn't being picked 
up on build.

Is there any opinion on mixed case file names for documentation? (All the 
docs files are currently lower cased and use hyphens to seperate words)

-Tim

[EMAIL PROTECTED] wrote:

yoavs   2003/12/13 09:18:57

  Added:   webapps/docs/architecture index.xml index.xml~ project.xml
project.xml~ requestProcess.xml startup.xml
   webapps/docs/architecture/requestProcess requestProcess.pdf
roseModel.mdl
   webapps/docs/architecture/startup serverStartup.pdf
serverStartup.txt
  Log:
  Architecture documents first draft.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


cvs commit: jakarta-tomcat-catalina/webapps/docs/architecture index.xml~ project.xml~

2003-12-13 Thread remm
remm2003/12/13 12:55:26

  Removed: webapps/docs/architecture index.xml~ project.xml~
  Log:
  - Remove Xemacs backups.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/servlets CGIServlet.java

2003-12-13 Thread markt
markt   2003/12/13 14:49:30

  Modified:catalina/src/share/org/apache/catalina/servlets
CGIServlet.java
  Log:
  - Fix for bug 5759. CGI servlet does not support extension mapping.
  - This patch needs review.
  
  Revision  ChangesPath
  1.10  +13 -8 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/servlets/CGIServlet.java
  
  Index: CGIServlet.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/servlets/CGIServlet.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- CGIServlet.java   12 Dec 2003 22:50:57 -  1.9
  +++ CGIServlet.java   13 Dec 2003 22:49:30 -  1.10
  @@ -794,8 +794,13 @@
*/
   protected void setupFromRequest(HttpServletRequest req) {
   this.contextPath = req.getContextPath();
  -this.pathInfo = req.getPathInfo();
   this.servletPath = req.getServletPath();
  +this.pathInfo = req.getPathInfo();
  +// If getPathInfo() returns null, must be using extension mapping
  +// In this case, pathInfo should be same as servletPath
  +if (this.pathInfo == null) {
  +this.pathInfo = this.servletPath;
  +}
   }
   
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]