axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rajika Kumarasiri <>
Subject Re: Adding a ThreadPoolExecutor to transports base
Date Mon, 17 Jan 2011 11:50:48 GMT
One other thing that I noticed in the default thread pool [1] used in axis2,
there is no way to configure the upper limit of the thread pool. It assume
Integer.MAX_VALUE as the upper limit. If you use the property
"transportNonBlocking" incorrectly[2] that can lead to a high number of Axis
Task which eventually can lead to OOM issues. May be we need to make the
thread pool configurable too.


[1] -
[2] -

On Mon, Jan 17, 2011 at 12:10 PM, Supun Kamburugamuva <>wrote:

> I would like to add a new thread pool executor to the transport base.
> This executor behavior is similar to java ThreadPoolExecutor except
> there is an additional parameter called waterMark.
> Here is how it is intended to work.
> Assume we are submitting requests at a rate that the thread pool cannot
> handle.
> When the thread pool reaches the core thread size, the queue will be
> filled from submitted tasks up to the waterMark.
> After this the thread pool will go to max threads.
> Then again the queue will start to fill, if the queue capacity is more
> than the waterMark capacity. If the queue is bounded, the
> RejectedExecutionHandler will be called. If the queue is un-bounded
> the queue will fill up until the memory is full. This behavior is same
> as the java ThreadPoolExecutor.
> Thanks,
> Supun..
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

View raw message