Author: mheath
Date: Fri Nov 9 19:35:29 2007
New Revision: 593730
URL: http://svn.apache.org/viewvc?rev=593730&view=rev
Log:
Minor changes to setCorePoolSize and setMaximumPoolSize.
Modified:
mina/trunk/core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
Modified:
mina/trunk/core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java?rev=593730&r1=593729&r2=593730&view=diff
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
Fri Nov 9 19:35:29 2007
@@ -181,17 +181,18 @@
@Override
public void setMaximumPoolSize(int maximumPoolSize) {
+ if (maximumPoolSize <= 0 || maximumPoolSize < corePoolSize) {
+ throw new IllegalArgumentException("maximumPoolSize: "
+ + maximumPoolSize);
+ }
+
synchronized (workers) {
- if (maximumPoolSize == 0 || maximumPoolSize < corePoolSize) {
- throw new IllegalArgumentException("maximumPoolSize: " +
maximumPoolSize);
- }
-
- if (this.maximumPoolSize > maximumPoolSize) {
- for (int i = this.maximumPoolSize - maximumPoolSize; i > 0; i
--) {
- removeWorker();
- }
- }
this.maximumPoolSize = maximumPoolSize;
+ int difference = workers.size() - maximumPoolSize;
+ while (difference > 0) {
+ removeWorker();
+ --difference;
+ }
}
}
@@ -428,6 +429,9 @@
public void setCorePoolSize(int corePoolSize) {
if (corePoolSize < 0) {
throw new IllegalArgumentException("corePoolSize: " +
corePoolSize);
+ }
+ if (corePoolSize > maximumPoolSize) {
+ throw new IllegalArgumentException("corePoolSize exceeds
maximumPoolSize");
}
synchronized (workers) {