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 <[email protected]>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: [email protected] > For additional commands, e-mail: [email protected] > >
