axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rajika Kumarasiri <raj...@wso2.com>
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.

Rajika


[1] -
https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/threadpool/ThreadPool.java
[2] - https://issues.apache.org/jira/browse/AXIS2-4196


On Mon, Jan 17, 2011 at 12:10 PM, Supun Kamburugamuva <supun06@gmail.com>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: java-dev-unsubscribe@axis.apache.org
> For additional commands, e-mail: java-dev-help@axis.apache.org
>
>

Mime
View raw message