File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Web Services and the fly likes [Axis2][Tomcat]Thread Pool Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Web Services
Bookmark "[Axis2][Tomcat]Thread Pool" Watch "[Axis2][Tomcat]Thread Pool" New topic

[Axis2][Tomcat]Thread Pool

Enrico Tamellin

Joined: Nov 09, 2008
Posts: 23
Hello everybody,

I know that Tomcat manages the threads needed to execute the incoming request.

( details Tomcat at startup creates a number of request processing threads: 1 thread is associated to one incoming request. Of course if there are more requests than threads they are temporally stacked .. see also here)

You can set up some settings in the file "apache-tomcat-6.0.18\conf\server.xml"

But... is this method used also for the incoming requests to a service built in Axis2 (that runs under Tomcat)?
I mean, are the threads that Tomcat creates used also for services in Axis2?

My question was born because I found that also Axis2 manages a ThreadPool!!
That is configurable in "apache-tomcat-6.0.18\webapps\axis2\WEB-INF\conf\axis2.xml"

Which one is the correct one to set up?
What is the difference between them?
How a incoming request is managed between Tomcat and Axis2?
How Tomcat and Axis2 interacts each other?

I will be really happy if you can help me or give me some links where I can find some documentation about it! I really didn't find any!!
Enrico Tamellin

Joined: Nov 09, 2008
Posts: 23
I'll post all the setting about the ThreadPool you can find in the file axis2.xml!
The file is in "\apache-tomcat-6.0.18\webapps\axis2\WEB-INF\conf\axis2.xml"

- <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">
<parameter name="port">8080</parameter>
- <!--
Here is the complete list of supported parameters (see example settings further below):
port: the port to listen on (default 6060)
hostname: if non-null, url prefix used in reply-to endpoint references (default null)
originServer: value of http Server header in outgoing messages (default "Simple-Server/1.1")
requestTimeout: value in millis of time that requests can wait for data (default 20000)
requestTcpNoDelay: true to maximize performance and minimize latency (default true)
false to minimize bandwidth consumption by combining segments
requestCoreThreadPoolSize: number of threads available for request processing (unless queue fills up) (default 25)
requestMaxThreadPoolSize: number of threads available for request processing if queue fills up (default 150)
note that default queue never fills up: see HttpFactory
threadKeepAliveTime: time to keep threads in excess of core size alive while inactive (default 180)
note that no such threads can exist with default unbounded request queue
threadKeepAliveTimeUnit: TimeUnit of value in threadKeepAliveTime (default SECONDS) (default SECONDS)

- <!-- <parameter name="hostname"></parameter>
- <!-- <parameter name="originServer">My-Server/1.1</parameter>
- <!-- <parameter name="requestTimeout">10000</parameter>
- <!-- <parameter name="requestTcpNoDelay">false</parameter>
- <!-- <parameter name="requestCoreThreadPoolSize">50</parameter>
- <!-- <parameter name="RequestMaxThreadPoolSize">100</parameter>
- <!-- <parameter name="threadKeepAliveTime">240000</parameter>
- <!-- <parameter name="threadKeepAliveTimeUnit">MILLISECONDS</parameter>
I agree. Here's the link:
subject: [Axis2][Tomcat]Thread Pool
It's not a secret anymore!