[jboss-cvs] JBossAS SVN: r89140 - in trunk: cluster/src/etc and 15 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue May 19 19:08:18 EDT 2009


Author: david.lloyd at jboss.com
Date: 2009-05-19 19:08:17 -0400 (Tue, 19 May 2009)
New Revision: 89140

Added:
   trunk/server/src/etc/deploy/thread-pool-jboss-beans.xml
Modified:
   trunk/build/build.xml
   trunk/cluster/src/etc/hajndi-jboss-beans.xml
   trunk/cluster/src/etc/hapartition-jboss-beans.xml
   trunk/cluster/src/main/org/jboss/ha/framework/server/ClusterPartition.java
   trunk/cluster/src/main/org/jboss/ha/jndi/DetachedHANamingService.java
   trunk/cluster/src/main/org/jboss/ha/jndi/DetachedHANamingServiceMBean.java
   trunk/cluster/src/main/org/jboss/ha/timestamp/TimestampDiscrepancyService.java
   trunk/connector/src/main/org/jboss/resource/work/JBossWorkManager.java
   trunk/connector/src/resources/jca-sar/jca-jboss-beans.xml
   trunk/jmx-remoting/src/main/org/jboss/mx/remoting/rmi/ClientNotifier.java
   trunk/server/src/etc/conf/all/jboss-service.xml
   trunk/server/src/etc/conf/all/xmdesc/NamingService-xmbean.xml
   trunk/server/src/etc/conf/minimal/jboss-service.xml
   trunk/server/src/etc/conf/standard/jboss-service.xml
   trunk/server/src/etc/conf/web/jboss-service.xml
   trunk/server/src/main/org/jboss/naming/NamingService.java
   trunk/server/src/main/org/jboss/naming/NamingServiceMBean.java
   trunk/server/src/main/org/jboss/web/WebServer.java
   trunk/server/src/main/org/jboss/web/WebService.java
   trunk/server/src/main/org/jboss/web/WebServiceMBean.java
   trunk/varia/src/resources/services/snmp/deploy/attributes.xml
Log:
JBAS-6947: Migrate all users of ThreadPool over to Executor; remove the old thread pool mbean service; use a jboss-threads deployment instead

Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/build/build.xml	2009-05-19 23:08:17 UTC (rev 89140)
@@ -715,15 +715,25 @@
         <include name="xmdesc/Log4jService-xmbean.xml"/>          
       </fileset>
     </copy>
+    <copy todir="${install.minimal.deployers}" overwrite="true">
+       <fileset dir="${install.default.deployers}">
+          <include name="jboss-threads.deployer/**"/>
+       </fileset>
+    </copy>
+    <copy todir="${install.minimal.deploy}" overwrite="true">
+       <fileset dir="${install.default.deploy}">
+           <include name="thread-pool-jboss-beans.xml"/>
+           <include name="hdscanner-jboss-beans.xml"/>
+       </fileset>
+    </copy>
     <copy todir="${install.minimal.conf}" overwrite="true">
       <fileset dir="${project.root}/server/target/etc/conf/minimal" />
     </copy>
-    <copy file="${project.root}/profileservice/target/resources/hdscanner-jboss-beans.xml" 
-          todir="${install.minimal.deploy}" overwrite="true"/>
-    <copy todir="${install.minimal.lib}">
+    <copy todir="${install.minimal.lib}" overwrite="true">
       <fileset dir="${install.common.lib}">
         <include name="jnpserver.jar" />
         <include name="log4j.jar" />
+        <include name="jboss-threads.jar" />
       </fileset>
     </copy>
     <copy file="${project.root}/server/target/jboss-as-server-jboss-minimal.jar"
@@ -749,7 +759,8 @@
          <include name="jboss-aop-jboss5.deployer/**"/>            
          <include name="jbossweb.deployer/**"/>            
          <include name="metadata-deployer-jboss-beans.xml"/>            
-         <include name="security-deployer-jboss-beans.xml"/>            
+         <include name="security-deployer-jboss-beans.xml"/>
+         <include name="jboss-threads.deployer/**"/>
       </fileset>
     </copy>
     <copy todir="${install.web.deploy}">
@@ -764,6 +775,7 @@
          <include name="ROOT.war/**"/>
          <include name="security/**"/>
          <include name="transaction-jboss-beans.xml"/>
+         <include name="thread-pool-jboss-beans.xml"/>
          <!-- FIXME serlvets shouldn't be using the ejb3 user transaction -->
          <include name="ejb3-container-jboss-beans.xml"/>
       </fileset>

Modified: trunk/cluster/src/etc/hajndi-jboss-beans.xml
===================================================================
--- trunk/cluster/src/etc/hajndi-jboss-beans.xml	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/cluster/src/etc/hajndi-jboss-beans.xml	2009-05-19 23:08:17 UTC (rev 89140)
@@ -27,7 +27,7 @@
       <property name="localNamingInstance"><inject bean="jboss:service=NamingBeanImpl" property="namingInstance"/></property>
       
       <!-- The thread pool used to control the bootstrap and auto discovery lookups -->
-      <property name="lookupPool"><inject bean="jboss.system:service=ThreadPool"/></property>
+      <property name="lookupPool"><inject bean="ThreadPool"/></property>
       
       <!-- Bind address of bootstrap endpoint -->
       <property name="bindAddress">

Modified: trunk/cluster/src/etc/hapartition-jboss-beans.xml
===================================================================
--- trunk/cluster/src/etc/hapartition-jboss-beans.xml	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/cluster/src/etc/hapartition-jboss-beans.xml	2009-05-19 23:08:17 UTC (rev 89140)
@@ -1,24 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ==================================================================== -->
-<!-- Core HAParition Service Used for intra-cluster group RPCs            -->
+
 <!-- ==================================================================== -->
-
+<!-- Core HAParition Service Used for intra-cluster group RPCs            -->
+<!-- ==================================================================== -->
+
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
    
    <!-- ==================================================================== -->
    <!-- Cluster Partition: defines cluster                                   -->
    <!-- ==================================================================== -->
-
-   <!-- 
-      HA services use a Cache for state management; this bean shields
-      HAPartition from having to directly use the JBoss Cache API.
-    -->
-   <bean name="HAPartitionCacheHandler"
-         class="org.jboss.ha.framework.server.HAPartitionCacheHandlerImpl">
-         <property name="cacheManager"><inject bean="CacheManager"/></property>
-         <property name="cacheConfigName">ha-partition</property>
-   </bean>
+
+   <!-- 
+      HA services use a Cache for state management; this bean shields
+      HAPartition from having to directly use the JBoss Cache API.
+    -->
+   <bean name="HAPartitionCacheHandler"
+         class="org.jboss.ha.framework.server.HAPartitionCacheHandlerImpl">
+         <property name="cacheManager"><inject bean="CacheManager"/></property>
+         <property name="cacheConfigName">ha-partition</property>
+   </bean>
    
    <bean name="HAPartition"
    		 class="org.jboss.ha.framework.server.ClusterPartition">     
@@ -28,7 +28,7 @@
       <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=HAPartition,partition=${jboss.partition.name:DefaultPartition}", exposedInterface=org.jboss.ha.framework.server.ClusterPartitionMBean.class, registerDirectly=true)</annotation>
       
    	<!-- ClusterPartition requires a Cache for state management -->
-      <property name="cacheHandler"><inject bean="HAPartitionCacheHandler"/></property>
+      <property name="cacheHandler"><inject bean="HAPartitionCacheHandler"/></property>
                
       <!-- Name of the partition being built -->
       <property name="partitionName">${jboss.partition.name:DefaultPartition}</property>
@@ -40,15 +40,15 @@
       <property name="stateTransferTimeout">30000</property>
               
       <!-- Max time (in ms) to wait for RPC calls to complete. -->
-      <property name="methodCallTimeout">60000</property>
-      
+      <property name="methodCallTimeout">60000</property>
+      
       <!-- Optionally provide a thread source to allow async connect of our channel -->
-      <property name="threadPool"><inject bean="jboss.system:service=ThreadPool"/></property>
+      <property name="threadPool"><inject bean="ThreadPool"/></property>
       
       <property name="distributedStateImpl">
 	      <bean name="DistributedState"
 	   		 class="org.jboss.ha.framework.server.DistributedStateImpl">	      
-	      	<annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=DistributedState,partitionName=${jboss.partition.name:DefaultPartition}", exposedInterface=org.jboss.ha.framework.server.DistributedStateImplMBean.class, registerDirectly=true)</annotation>
+	      	<annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=DistributedState,partitionName=${jboss.partition.name:DefaultPartition}", exposedInterface=org.jboss.ha.framework.server.DistributedStateImplMBean.class, registerDirectly=true)</annotation>
 	      	<property name="cacheHandler"><inject bean="HAPartitionCacheHandler"/></property>	               
    		</bean>
       </property>

Modified: trunk/cluster/src/main/org/jboss/ha/framework/server/ClusterPartition.java
===================================================================
--- trunk/cluster/src/main/org/jboss/ha/framework/server/ClusterPartition.java	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/cluster/src/main/org/jboss/ha/framework/server/ClusterPartition.java	2009-05-19 23:08:17 UTC (rev 89140)
@@ -38,14 +38,7 @@
 import java.util.Vector;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CountDownLatch;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.Name;
-import javax.naming.NameNotFoundException;
-import javax.naming.Reference;
-import javax.naming.StringRefAddr;
-
+import java.util.concurrent.Executor;
 import org.jboss.bootstrap.spi.util.ServerConfigUtil;
 import org.jboss.ha.framework.interfaces.ClusterNode;
 import org.jboss.ha.framework.interfaces.DistributedReplicantManager;
@@ -71,7 +64,6 @@
 import org.jboss.managed.api.annotation.ViewUse;
 import org.jboss.naming.NonSerializableFactory;
 import org.jboss.system.ServiceMBeanSupport;
-import org.jboss.util.threadpool.ThreadPool;
 import org.jgroups.Address;
 import org.jgroups.Channel;
 import org.jgroups.ChannelFactory;
@@ -90,6 +82,13 @@
 import org.jgroups.util.Rsp;
 import org.jgroups.util.RspList;
 
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.Name;
+import javax.naming.NameNotFoundException;
+import javax.naming.Reference;
+import javax.naming.StringRefAddr;
+
 /**
  * {@link HAPartition} implementation based on a
  * <a href="http://www.jgroups.com/">JGroups</a> <code>RpcDispatcher</code>
@@ -211,7 +210,7 @@
    private   long method_call_timeout=60000;
    
    /** Thread pool used to asynchronously start our channel */
-   private   ThreadPool threadPool;
+   private Executor threadPool;
    
    private final Map<String, Object> rpcHandlers = new ConcurrentHashMap<String, Object>();
    private final Map<String, HAPartitionStateTransfer> stateHandlers = new HashMap<String, HAPartitionStateTransfer>();
@@ -367,7 +366,7 @@
          // Do the channel connect in another thread while this
          // thread starts the cache and does that channel connect
          ChannelConnectTask task = new ChannelConnectTask(connectLatch);
-         this.threadPool.run(task);
+         this.threadPool.execute(task);
       }
       
       if (this.cacheHandler != null)
@@ -1627,12 +1626,12 @@
        return this.bindIntoJndi;
    }
 
-   public ThreadPool getThreadPool()
+   public Executor getThreadPool()
    {
       return this.threadPool;
    }
 
-   public void setThreadPool(ThreadPool threadPool)
+   public void setThreadPool(Executor threadPool)
    {
       this.threadPool = threadPool;
    }

Modified: trunk/cluster/src/main/org/jboss/ha/jndi/DetachedHANamingService.java
===================================================================
--- trunk/cluster/src/main/org/jboss/ha/jndi/DetachedHANamingService.java	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/cluster/src/main/org/jboss/ha/jndi/DetachedHANamingService.java	2009-05-19 23:08:17 UTC (rev 89140)
@@ -42,22 +42,19 @@
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
-
-import javax.management.ObjectName;
-import javax.net.ServerSocketFactory;
-
+import java.util.concurrent.Executor;
 import org.jboss.ha.framework.interfaces.HAPartition;
 import org.jboss.ha.jndi.spi.DistributedTreeManager;
 import org.jboss.invocation.Invocation;
 import org.jboss.invocation.MarshalledInvocation;
 import org.jboss.logging.Logger;
 import org.jboss.system.ServiceMBeanSupport;
-import org.jboss.util.threadpool.BasicThreadPool;
-import org.jboss.util.threadpool.BasicThreadPoolMBean;
-import org.jboss.util.threadpool.ThreadPool;
 import org.jnp.interfaces.Naming;
 import org.jnp.interfaces.NamingContext;
 
+import javax.management.ObjectName;
+import javax.net.ServerSocketFactory;
+
 /**
  * Management Bean for the protocol independent HA-JNDI service. This allows the
  * naming service transport layer to be provided by a detached invoker service
@@ -155,7 +152,7 @@
    /**
     * The thread pool used to handle jnp stub lookup requests
     */
-   ThreadPool lookupPool;
+   Executor lookupPool;
 
    // Public --------------------------------------------------------
 
@@ -316,9 +313,9 @@
       this.jnpServerSocketFactory = (ServerSocketFactory) clazz.newInstance();
    }
 
-   public void setLookupPool(BasicThreadPoolMBean poolMBean)
+   public void setLookupPool(Executor lookupPool)
    {
-      this.lookupPool = poolMBean.getInstance();
+      this.lookupPool = lookupPool;
    }
 /*
    public void startService(HAPartition haPartition)
@@ -379,7 +376,7 @@
          {
             this.autoDiscovery = new AutomaticDiscovery();
             this.autoDiscovery.start();
-            this.lookupPool.run(this.autoDiscovery);
+            this.lookupPool.execute(this.autoDiscovery);
          }
          catch (Exception e)
          {
@@ -487,12 +484,12 @@
          this.log.error("Could not start HAJNDI bootstrap listener on port " + this.port, e);
       }
 
-      if (this.lookupPool == null)
+      if (lookupPool == null)
       {
-         this.lookupPool = new BasicThreadPool("HANamingBootstrap Pool");
+         throw new IllegalArgumentException("DetachedHANamingService started up without a thread pool");
       }
       AcceptHandler handler = new AcceptHandler();
-      this.lookupPool.run(handler);
+      lookupPool.execute(handler);
    }
 
    // Protected -----------------------------------------------------
@@ -646,7 +643,7 @@
                // Queue the response to the thread pool
                DiscoveryRequestHandler handler = new DiscoveryRequestHandler(this.log,
                   packet, this.socket, this.ipAddress);
-               DetachedHANamingService.this.lookupPool.run(handler);
+               lookupPool.execute(handler);
                if (trace)
                {
                   this.log.trace("Queued DiscoveryRequestHandler");
@@ -824,7 +821,7 @@
                   DetachedHANamingService.this.log.trace("Accepted bootstrap client: "+socket);
                }
                BootstrapRequestHandler handler = new BootstrapRequestHandler(socket);
-               DetachedHANamingService.this.lookupPool.run(handler);
+               lookupPool.execute(handler);
             }
             catch (IOException e)
             {

Modified: trunk/cluster/src/main/org/jboss/ha/jndi/DetachedHANamingServiceMBean.java
===================================================================
--- trunk/cluster/src/main/org/jboss/ha/jndi/DetachedHANamingServiceMBean.java	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/cluster/src/main/org/jboss/ha/jndi/DetachedHANamingServiceMBean.java	2009-05-19 23:08:17 UTC (rev 89140)
@@ -24,13 +24,13 @@
 import java.lang.reflect.Method;
 import java.net.UnknownHostException;
 import java.util.Map;
-import javax.management.ObjectName;
-
+import java.util.concurrent.Executor;
 import org.jboss.ha.framework.interfaces.HAPartition;
 import org.jboss.ha.jndi.spi.DistributedTreeManager;
 import org.jboss.invocation.Invocation;
-import org.jboss.util.threadpool.BasicThreadPoolMBean;
 
+import javax.management.ObjectName;
+
 /** The standard mbean management interface for the DetachedHANamingService
  *
  * @author Scott.Stark at jboss.org
@@ -146,11 +146,11 @@
    /** Set the TTL (time-to-live) for autodiscovery IP multicast packets */
    void setAutoDiscoveryTTL(int ttl);
 
-   /** Set the thread pool used for the bootstrap and autodiscovery lookups
+   /** Set the executor used for the bootstrap and autodiscovery lookups
     *
-    * @param poolMBean
+    * @param executor the executor to use
     */
-   public void setLookupPool(BasicThreadPoolMBean poolMBean);
+   void setLookupPool(Executor executor);
 
    /** Expose the Naming service interface mapping as a read-only attribute
     *
@@ -158,7 +158,7 @@
     *
     * @return A Map<Long hash, Method> of the Naming interface
     */
-   public Map<Long, Method> getMethodMap();
+   Map<Long, Method> getMethodMap();
 
    /** Expose the Naming service via JMX for detached invokers.
     *
@@ -167,5 +167,5 @@
     *
     * @throws Exception    Failed to invoke method.
     */
-   public Object invoke(Invocation invocation) throws Exception;
+   Object invoke(Invocation invocation) throws Exception;
 }
\ No newline at end of file

Modified: trunk/cluster/src/main/org/jboss/ha/timestamp/TimestampDiscrepancyService.java
===================================================================
--- trunk/cluster/src/main/org/jboss/ha/timestamp/TimestampDiscrepancyService.java	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/cluster/src/main/org/jboss/ha/timestamp/TimestampDiscrepancyService.java	2009-05-19 23:08:17 UTC (rev 89140)
@@ -35,16 +35,16 @@
 import java.util.TreeSet;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CopyOnWriteArrayList;
-
-import org.apache.log4j.Logger;
+import java.util.concurrent.Executor;
 import org.jboss.ha.framework.interfaces.ClusterNode;
 import org.jboss.ha.framework.interfaces.DistributedReplicantManager;
+import org.jboss.ha.framework.interfaces.DistributedReplicantManager.ReplicantListener;
 import org.jboss.ha.framework.interfaces.HAPartition;
-import org.jboss.ha.framework.interfaces.DistributedReplicantManager.ReplicantListener;
 import org.jboss.kernel.spi.dependency.KernelControllerContext;
 import org.jboss.kernel.spi.dependency.KernelControllerContextAware;
-import org.jboss.util.threadpool.ThreadPool;
 
+import org.apache.log4j.Logger;
+
 /**
  * Service that tracks {@link TimestampDiscrepancy} information for current
  * and past members of the cluster.
@@ -82,7 +82,7 @@
    private long minPurgeFrequency = 60 * 60 * 1000; // one hour
    private final List<TimestampDiscrepancyObserver> observers = new CopyOnWriteArrayList<TimestampDiscrepancyObserver>();
    private boolean coordinator;
-   private ThreadPool threadPool;
+   private Executor threadPool;
    private final Map<ClusterNode, Map<Server, TimestampDiscrepancy>> unresolvedRemoteDependencies = new HashMap<ClusterNode, Map<Server, TimestampDiscrepancy>>();
    private boolean deadMembersKnown = false;
    
@@ -253,7 +253,7 @@
     * 
     * @param threadPool the thread pool
     */
-   public void setThreadPool(ThreadPool threadPool)
+   public void setThreadPool(Executor threadPool)
    {
       this.threadPool = threadPool;
    }
@@ -737,7 +737,7 @@
    {
       if (threadPool != null)
       {
-         threadPool.run(r);
+         threadPool.execute(r);
       }
       else
       {

Modified: trunk/connector/src/main/org/jboss/resource/work/JBossWorkManager.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/work/JBossWorkManager.java	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/connector/src/main/org/jboss/resource/work/JBossWorkManager.java	2009-05-19 23:08:17 UTC (rev 89140)
@@ -21,6 +21,11 @@
  */
 package org.jboss.resource.work;
 
+import java.util.concurrent.Executor;
+import org.jboss.system.ServiceMBeanSupport;
+import org.jboss.tm.JBossXATerminator;
+import org.jboss.util.threadpool.Task;
+
 import javax.resource.spi.work.ExecutionContext;
 import javax.resource.spi.work.Work;
 import javax.resource.spi.work.WorkException;
@@ -28,11 +33,6 @@
 import javax.resource.spi.work.WorkManager;
 import javax.transaction.xa.Xid;
 
-import org.jboss.system.ServiceMBeanSupport;
-import org.jboss.tm.JBossXATerminator;
-import org.jboss.util.threadpool.Task;
-import org.jboss.util.threadpool.ThreadPool;
-
 /**
  * The work manager implementation
  *
@@ -45,29 +45,29 @@
    private boolean trace = log.isTraceEnabled();
    
    /** The thread pool */
-   private ThreadPool threadPool;
+   private Executor executor;
 
    /** The xa terminator */
    private JBossXATerminator xaTerminator;
 
-   /**
+    /**
     * Retrieve the thread pool
     *
     * @return the thread pool
     */
-   public ThreadPool getThreadPool()
+   public Executor getExecutor()
    {
-      return threadPool;
+      return executor;
    }
 
    /**
     * Set the thread pool
     *
-    * @param threadPool the thread pool
+    * @param executor the thread pool
     */
-   public void setThreadPool(ThreadPool threadPool)
+   public void setExecutor(Executor executor)
    {
-      this.threadPool = threadPool;
+      this.executor = executor;
    }
 
    /**
@@ -182,7 +182,7 @@
       if (trace)
          log.trace("Submitting work to thread pool " + wrapper);
 
-      threadPool.runTaskWrapper(wrapper);
+      executor.execute(wrapper);
 
       if (trace)
          log.trace("Submitted work to thread pool " + wrapper);

Modified: trunk/connector/src/resources/jca-sar/jca-jboss-beans.xml
===================================================================
--- trunk/connector/src/resources/jca-sar/jca-jboss-beans.xml	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/connector/src/resources/jca-sar/jca-jboss-beans.xml	2009-05-19 23:08:17 UTC (rev 89140)
@@ -5,25 +5,17 @@
   <!-- ==================================================================== -->
 
   <!-- THREAD POOL -->
-  <bean name="WorkManagerThreadPool" class="org.jboss.util.threadpool.BasicThreadPool">
+  <threads xmlns="urn:jboss:threads:1.0">
+     <thread-group name="WorkManagerThreadGroup" group-name="workmanager-threads"/>
+     <thread-factory name="WorkManagerThreadFactory" group="WorkManagerThreadGroup"/>
+     <thread-pool-executor name="WorkManagerThreadPool" thread-factory="WorkManagerThreadFactory" queue-length="1024">
+        <core-pool-size count="20"/>
+        <max-pool-size count="100"/>
+        <keepalive-time time="60" unit="seconds"/>
+        <reject-policy name="block"/>
+     </thread-pool-executor>
+  </threads>
 
-     <!-- Expose via JMX -->  
-     <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jca:service=WorkManagerThreadPool", exposedInterface=org.jboss.util.threadpool.BasicThreadPoolMBean.class)</annotation>
-  
-     <!-- The name that appears in thread names -->
-     <property name="name">WorkManager</property>
-
-     <!-- The maximum amount of work in the queue -->
-     <property name="maximumQueueSize">1024</property>
-
-     <!-- The maximum number of active threads -->
-     <property name="maximumPoolSize">100</property>
-
-     <!-- How long to keep threads alive after their last work (default one minute) -->
-     <property name="keepAliveTime">60000</property>
-
-  </bean>
-
   <!-- WORK MANAGER -->
   <bean name="WorkManager" class="org.jboss.resource.work.JBossWorkManager">
 
@@ -31,7 +23,7 @@
      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jca:service=WorkManager", exposedInterface=org.jboss.resource.work.JBossWorkManagerMBean.class)</annotation>
 
      <!-- The thread pool -->
-     <property name="threadPool"><inject bean="WorkManagerThreadPool"/></property>
+     <property name="executor"><inject bean="WorkManagerThreadPool"/></property>
      
      <!-- The xa terminator --> 
      <property name="XATerminator"><inject bean="TransactionManager" property="XATerminator"/></property>

Modified: trunk/jmx-remoting/src/main/org/jboss/mx/remoting/rmi/ClientNotifier.java
===================================================================
--- trunk/jmx-remoting/src/main/org/jboss/mx/remoting/rmi/ClientNotifier.java	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/jmx-remoting/src/main/org/jboss/mx/remoting/rmi/ClientNotifier.java	2009-05-19 23:08:17 UTC (rev 89140)
@@ -21,31 +21,28 @@
  */
 package org.jboss.mx.remoting.rmi;
 
+import EDU.oswego.cs.dl.util.concurrent.ReaderPreferenceReadWriteLock;
+import EDU.oswego.cs.dl.util.concurrent.SyncMap;
+import java.io.IOException;
+import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Map;
+import java.util.Iterator;
 import java.util.List;
-import java.util.ArrayList;
+import java.util.Map;
 import java.util.Set;
-import java.util.Iterator;
-import java.util.TimerTask;
 import java.util.Timer;
-import java.io.IOException;
+import java.util.TimerTask;
+import java.util.concurrent.Executor;
+import org.jboss.logging.Logger;
 
-import javax.management.ObjectName;
-import javax.management.NotificationListener;
 import javax.management.Notification;
 import javax.management.NotificationFilter;
-import javax.management.remote.rmi.RMIConnection;
+import javax.management.NotificationListener;
+import javax.management.ObjectName;
 import javax.management.remote.NotificationResult;
 import javax.management.remote.TargetedNotification;
+import javax.management.remote.rmi.RMIConnection;
 
-import org.jboss.logging.Logger;
-import org.jboss.util.threadpool.BasicThreadPool;
-import org.jboss.util.threadpool.BlockingMode;
-
-import EDU.oswego.cs.dl.util.concurrent.ReaderPreferenceReadWriteLock;
-import EDU.oswego.cs.dl.util.concurrent.SyncMap;
-
 /**
  * @author <a href="mailto:telrod at e2technologies.net">Tom Elrod</a>
  */
@@ -68,12 +65,10 @@
    private long clientSequenceNumber = -1;
    private int maxNotifications = 10;
 
-   private BasicThreadPool notifierPool = null;
-   private int maxNumberThreads = 20;
+   private Executor notifierPool = null;
 
    private static final Logger log = Logger.getLogger(ClientNotifier.class);
 
-
    public ClientNotifier(RMIConnection rmiConnection)
    {
       this.connection = rmiConnection;
@@ -81,13 +76,17 @@
       fetchTimer = new Timer(true);
       //TODO: -TME Need to make the fetch period configurable (JBREM-151)
       fetchTimer.schedule(this, 1000, 1000);
-
-      notifierPool = new BasicThreadPool("JBoss JMX Remoting client notifier");
-      notifierPool.setMaximumPoolSize(maxNumberThreads);
-      notifierPool.setBlockingMode(BlockingMode.WAIT);
    }
 
-   /**
+    public Executor getNotifierPool() {
+        return notifierPool;
+    }
+
+    public void setNotifierPool(final Executor notifierPool) {
+        this.notifierPool = notifierPool;
+    }
+
+    /**
     * The action to be performed by this timer task.
     */
    public void run()
@@ -152,7 +151,7 @@
                      }
                   }
                };
-               notifierPool.run(notifyRun);
+               notifierPool.execute(notifyRun);
             }
          }
       }

Modified: trunk/server/src/etc/conf/all/jboss-service.xml
===================================================================
--- trunk/server/src/etc/conf/all/jboss-service.xml	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/server/src/etc/conf/all/jboss-service.xml	2009-05-19 23:08:17 UTC (rev 89140)
@@ -44,28 +44,6 @@
       -->
    </mbean>
 
-   <!-- A Thread pool service -->
-   <mbean code="org.jboss.util.threadpool.BasicThreadPool"
-      name="jboss.system:service=ThreadPool">
-      <attribute name="Name">JBoss System Threads</attribute>
-      <attribute name="ThreadGroupName">System Threads</attribute>
-      <!-- How long a thread will live without any tasks in MS -->
-      <attribute name="KeepAliveTime">60000</attribute>
-      <!-- The max number of threads in the pool -->
-      <attribute name="MaximumPoolSize">10</attribute>
-      <!-- The max number of tasks before the queue is full -->
-      <attribute name="MaximumQueueSize">1000</attribute>
-      <!-- The behavior of the pool when a task is added and the queue is full.
-      abort - a RuntimeException is thrown
-      run - the calling thread executes the task
-      wait - the calling thread blocks until the queue has room
-      discard - the task is silently discarded without being run
-      discardOldest - check to see if a task is about to complete and enque
-         the new task if possible, else run the task in the calling thread
-      -->
-      <attribute name="BlockingMode">run</attribute>
-   </mbean>
-
    <!-- ==================================================================== -->
    <!-- Log4j Initialization                                                 -->
    <!-- ==================================================================== -->
@@ -81,7 +59,7 @@
       <attribute name="Log4jQuietMode">true</attribute>
       <!-- How frequently in seconds the ConfigurationURL is checked for changes -->
       <attribute name="RefreshPeriod">60</attribute>
-      
+
       <!-- The value to assign to system property jboss.server.log.threshold
            if it is not already set. This system property in turn controls
            the logging threshold for the server.log file.
@@ -168,8 +146,9 @@
       <attribute name="DownloadResources">false</attribute>
 
       <!-- Use the default thread pool for dynamic class loading -->
-      <depends optional-attribute-name="ThreadPool"
-         proxy-type="attribute">jboss.system:service=ThreadPool</depends>
+      <attribute name="Executor">
+          <inject bean="ThreadPool"/>
+      </attribute>
    </mbean>
 
    <!-- ==================================================================== -->
@@ -231,8 +210,9 @@
       </attribute>
       
       <!-- The thread pool service used to control the bootstrap lookups -->
-      <depends optional-attribute-name="LookupPool"
-         proxy-type="attribute">jboss.system:service=ThreadPool</depends>
+      <attribute name="LookupPool">
+         <inject bean="ThreadPool"/>
+      </attribute>
       <!-- An example of using the unifed invoker as the transport.
          <depends optional-attribute-name="InvokerProxyFactory"
          proxy-type="attribute">jboss:service=proxyFactory,type=unified,target=Naming</depends>

Modified: trunk/server/src/etc/conf/all/xmdesc/NamingService-xmbean.xml
===================================================================
--- trunk/server/src/etc/conf/all/xmdesc/NamingService-xmbean.xml	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/server/src/etc/conf/all/xmdesc/NamingService-xmbean.xml	2009-05-19 23:08:17 UTC (rev 89140)
@@ -140,9 +140,9 @@
       <type>boolean</type>
    </attribute>
    <attribute access="write-only" setMethod="setLookupPool">
-      <description>The thread pool service used to control the bootstrap lookups</description>
+      <description>The executor used to run the bootstrap lookups</description>
       <name>LookupPool</name>
-      <type>org.jboss.util.threadpool.BasicThreadPoolMBean</type>
+      <type>java.util.concurrent.Executor</type>
    </attribute>
    <attribute access="write-only" setMethod="setInvokerProxyFactory">
       <description>The detached invoker proxy factory to use for the naming

Modified: trunk/server/src/etc/conf/minimal/jboss-service.xml
===================================================================
--- trunk/server/src/etc/conf/minimal/jboss-service.xml	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/server/src/etc/conf/minimal/jboss-service.xml	2009-05-19 23:08:17 UTC (rev 89140)
@@ -20,7 +20,7 @@
    <mbean code="org.jboss.logging.Log4jService"
       name="jboss.system:type=Log4jService,service=Logging"
       xmbean-dd="resource:xmdesc/Log4jService-xmbean.xml">
-      <attribute name="ConfigurationURL">resource:jboss-log4j.xml</attribute>      
+      <attribute name="ConfigurationURL">resource:jboss-log4j.xml</attribute>
       <!-- The value to assign to system property jboss.server.log.threshold
            if it is not already set. This system property in turn controls
            the logging threshold for the server.log file.
@@ -28,28 +28,6 @@
            this value is ignored. -->
       <attribute name="DefaultJBossServerLogThreshold">INFO</attribute>
    </mbean>
-   
-   <!-- A Thread pool service -->
-   <mbean code="org.jboss.util.threadpool.BasicThreadPool"
-      name="jboss.system:service=ThreadPool">
-      <attribute name="Name">JBoss System Threads</attribute>
-      <attribute name="ThreadGroupName">System Threads</attribute>
-      <!-- How long a thread will live without any tasks in MS -->
-      <attribute name="KeepAliveTime">60000</attribute>
-      <!-- The max number of threads in the pool -->
-      <attribute name="MaximumPoolSize">10</attribute>
-      <!-- The max number of tasks before the queue is full -->
-      <attribute name="MaximumQueueSize">1000</attribute>
-      <!-- The behavior of the pool when a task is added and the queue is full.
-      abort - a RuntimeException is thrown
-      run - the calling thread executes the task
-      wait - the calling thread blocks until the queue has room
-      discard - the task is silently discarded without being run
-      discardOldest - check to see if a task is about to complete and enque
-         the new task if possible, else run the task in the calling thread
-      -->
-      <attribute name="BlockingMode">run</attribute>
-   </mbean>
 
    <!-- ==================================================================== -->
    <!-- JNDI                                                                 -->
@@ -85,8 +63,9 @@
       -->
       <attribute name="RmiBindAddress">${jboss.bind.address}</attribute>
       <!-- The thread pool service used to control the bootstrap lookups -->
-      <depends optional-attribute-name="LookupPool"
-         proxy-type="attribute">jboss.system:service=ThreadPool</depends>
+      <attribute name="LookupPool">
+         <inject bean="ThreadPool"/>
+      </attribute>
       <!-- An example of using the unifed invoker as the transport.
          <depends optional-attribute-name="InvokerProxyFactory"
          proxy-type="attribute">jboss:service=proxyFactory,type=unified,target=Naming</depends>

Modified: trunk/server/src/etc/conf/standard/jboss-service.xml
===================================================================
--- trunk/server/src/etc/conf/standard/jboss-service.xml	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/server/src/etc/conf/standard/jboss-service.xml	2009-05-19 23:08:17 UTC (rev 89140)
@@ -44,28 +44,6 @@
       -->
    </mbean>
 
-   <!-- A Thread pool service -->
-   <mbean code="org.jboss.util.threadpool.BasicThreadPool"
-      name="jboss.system:service=ThreadPool">
-      <attribute name="Name">JBoss System Threads</attribute>
-      <attribute name="ThreadGroupName">System Threads</attribute>
-      <!-- How long a thread will live without any tasks in MS -->
-      <attribute name="KeepAliveTime">60000</attribute>
-      <!-- The max number of threads in the pool -->
-      <attribute name="MaximumPoolSize">10</attribute>
-      <!-- The max number of tasks before the queue is full -->
-      <attribute name="MaximumQueueSize">1000</attribute>
-      <!-- The behavior of the pool when a task is added and the queue is full.
-      abort - a RuntimeException is thrown
-      run - the calling thread executes the task
-      wait - the calling thread blocks until the queue has room
-      discard - the task is silently discarded without being run
-      discardOldest - check to see if a task is about to complete and enque
-         the new task if possible, else run the task in the calling thread
-      -->
-      <attribute name="BlockingMode">run</attribute>
-   </mbean>
-
    <!-- ==================================================================== -->
    <!-- Log4j Initialization                                                 -->
    <!-- ==================================================================== -->
@@ -81,7 +59,7 @@
       <attribute name="Log4jQuietMode">true</attribute>
       <!-- How frequently in seconds the ConfigurationURL is checked for changes -->
       <attribute name="RefreshPeriod">60</attribute>
-      
+
       <!-- The value to assign to system property jboss.server.log.threshold
            if it is not already set. This system property in turn controls
            the logging threshold for the server.log file.
@@ -165,8 +143,9 @@
       <attribute name="DownloadResources">false</attribute>
 
       <!-- Use the default thread pool for dynamic class loading -->
-      <depends optional-attribute-name="ThreadPool"
-         proxy-type="attribute">jboss.system:service=ThreadPool</depends>
+      <attribute name="Executor">
+         <inject bean="ThreadPool"/>
+      </attribute>
    </mbean>
 
    <!-- ==================================================================== -->
@@ -215,8 +194,9 @@
       -->
       <attribute name="RmiBindAddress">${jboss.bind.address}</attribute>
       <!-- The thread pool service used to control the bootstrap lookups -->
-      <depends optional-attribute-name="LookupPool"
-         proxy-type="attribute">jboss.system:service=ThreadPool</depends>
+      <attribute name="LookupPool">
+         <inject bean="ThreadPool"/>
+      </attribute>
       <!-- An example of using the unifed invoker as the transport.
          <depends optional-attribute-name="InvokerProxyFactory"
          proxy-type="attribute">jboss:service=proxyFactory,type=unified,target=Naming</depends>

Modified: trunk/server/src/etc/conf/web/jboss-service.xml
===================================================================
--- trunk/server/src/etc/conf/web/jboss-service.xml	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/server/src/etc/conf/web/jboss-service.xml	2009-05-19 23:08:17 UTC (rev 89140)
@@ -44,28 +44,6 @@
       -->
    </mbean>
 
-   <!-- A Thread pool service -->
-   <mbean code="org.jboss.util.threadpool.BasicThreadPool"
-      name="jboss.system:service=ThreadPool">
-      <attribute name="Name">JBoss System Threads</attribute>
-      <attribute name="ThreadGroupName">System Threads</attribute>
-      <!-- How long a thread will live without any tasks in MS -->
-      <attribute name="KeepAliveTime">60000</attribute>
-      <!-- The max number of threads in the pool -->
-      <attribute name="MaximumPoolSize">10</attribute>
-      <!-- The max number of tasks before the queue is full -->
-      <attribute name="MaximumQueueSize">1000</attribute>
-      <!-- The behavior of the pool when a task is added and the queue is full.
-      abort - a RuntimeException is thrown
-      run - the calling thread executes the task
-      wait - the calling thread blocks until the queue has room
-      discard - the task is silently discarded without being run
-      discardOldest - check to see if a task is about to complete and enque
-         the new task if possible, else run the task in the calling thread
-      -->
-      <attribute name="BlockingMode">run</attribute>
-   </mbean>
-
    <!-- ==================================================================== -->
    <!-- Log4j Initialization                                                 -->
    <!-- ==================================================================== -->
@@ -81,7 +59,7 @@
       <attribute name="Log4jQuietMode">true</attribute>
       <!-- How frequently in seconds the ConfigurationURL is checked for changes -->
       <attribute name="RefreshPeriod">60</attribute>
-      
+
       <!-- The value to assign to system property jboss.server.log.threshold
            if it is not already set. This system property in turn controls
            the logging threshold for the server.log file.
@@ -180,8 +158,9 @@
       -->
       <attribute name="RmiBindAddress">${jboss.bind.address}</attribute>
       <!-- The thread pool service used to control the bootstrap lookups -->
-      <depends optional-attribute-name="LookupPool"
-         proxy-type="attribute">jboss.system:service=ThreadPool</depends>
+      <attribute name="LookupPool">
+         <inject bean="ThreadPool"/>
+      </attribute>
       <!-- An example of using the unifed invoker as the transport.
          <depends optional-attribute-name="InvokerProxyFactory"
          proxy-type="attribute">jboss:service=proxyFactory,type=unified,target=Naming</depends>

Added: trunk/server/src/etc/deploy/thread-pool-jboss-beans.xml
===================================================================
--- trunk/server/src/etc/deploy/thread-pool-jboss-beans.xml	                        (rev 0)
+++ trunk/server/src/etc/deploy/thread-pool-jboss-beans.xml	2009-05-19 23:08:17 UTC (rev 89140)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ JBoss, Home of Professional Open Source.
+  ~ Copyright 2009, Red Hat Middleware LLC, and individual contributors
+  ~ as indicated by the @author tags. See the copyright.txt file in the
+  ~ distribution for a full listing of individual contributors.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+
+<!-- Basic system thread pool deployment -->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+    <threads xmlns="urn:jboss:threads:1.0">
+        <thread-group name="SystemThreadFactoryGroup" group-name="System Threads"/>
+        <thread-factory name="SystemThreadFactory" group="SystemThreadFactoryGroup"/>
+        <thread-pool-executor name="ThreadPool" thread-factory="SystemThreadFactory" queue-length="1000">
+            <core-pool-size count="5"/>
+            <max-pool-size count="10"/>
+            <keepalive-time time="30" unit="seconds"/>
+            <reject-policy name="block"/>
+        </thread-pool-executor>
+    </threads>
+</deployment>
\ No newline at end of file

Modified: trunk/server/src/main/org/jboss/naming/NamingService.java
===================================================================
--- trunk/server/src/main/org/jboss/naming/NamingService.java	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/server/src/main/org/jboss/naming/NamingService.java	2009-05-19 23:08:17 UTC (rev 89140)
@@ -23,8 +23,8 @@
 
 import java.io.IOException;
 import java.io.InputStream;
-import java.lang.reflect.Method;
 import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
 import java.lang.reflect.UndeclaredThrowableException;
 import java.net.UnknownHostException;
 import java.rmi.server.RMIClientSocketFactory;
@@ -34,19 +34,18 @@
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
-import javax.net.ServerSocketFactory;
-
+import java.util.concurrent.Executor;
 import org.jboss.invocation.Invocation;
 import org.jboss.invocation.MarshalledInvocation;
 import org.jboss.invocation.jrmp.server.JRMPProxyFactoryMBean;
 import org.jboss.system.ServiceMBeanSupport;
-import org.jboss.util.threadpool.ThreadPool;
-import org.jboss.util.threadpool.BasicThreadPoolMBean;
-import org.jnp.interfaces.Naming;
 import org.jnp.interfaces.MarshalledValuePair;
+import org.jnp.interfaces.Naming;
 import org.jnp.server.Main;
 import org.jnp.server.NamingBean;
 
+import javax.net.ServerSocketFactory;
+
 /**
  * A JBoss service that starts the jnp JNDI server.
  *
@@ -114,16 +113,16 @@
       return namingBean.getNamingInstance();
    }
 
-   /** Set the thread pool used for the bootstrap lookups
+   /**
+    * Set the executor used for the bootstrap lookups
     *
     * @jmx:managed-attribute
     *
-    * @param poolMBean 
+    * @param executor the executor
     */
-   public void setLookupPool(BasicThreadPoolMBean poolMBean)
+   public void setLookupPool(Executor executor)
    {
-      ThreadPool lookupPool = poolMBean.getInstance();
-      namingMain.setLookupPool(lookupPool);
+      namingMain.setLookupExector(executor);
    }
 
    /** Get the call by value flag for jndi lookups.

Modified: trunk/server/src/main/org/jboss/naming/NamingServiceMBean.java
===================================================================
--- trunk/server/src/main/org/jboss/naming/NamingServiceMBean.java	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/server/src/main/org/jboss/naming/NamingServiceMBean.java	2009-05-19 23:08:17 UTC (rev 89140)
@@ -21,6 +21,8 @@
  */
 package org.jboss.naming;
 
+import java.util.concurrent.Executor;
+
 /**
  * MBean interface.
  */
@@ -30,9 +32,11 @@
    public static final javax.management.ObjectName OBJECT_NAME = org.jboss.mx.util.ObjectNameFactory.create("jboss:service=Naming");
 
    /**
-    * Set the thread pool used for the bootstrap lookups
-    * @param poolMBean    */
-  void setLookupPool(org.jboss.util.threadpool.BasicThreadPoolMBean poolMBean) ;
+    * Set the executor used for the bootstrap lookups.
+    *
+    * @param executor the executor
+    */
+  void setLookupPool(Executor executor) ;
 
    /**
     * Get the call by value flag for jndi lookups.

Modified: trunk/server/src/main/org/jboss/web/WebServer.java
===================================================================
--- trunk/server/src/main/org/jboss/web/WebServer.java	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/server/src/main/org/jboss/web/WebServer.java	2009-05-19 23:08:17 UTC (rev 89140)
@@ -21,6 +21,7 @@
  */
 package org.jboss.web;
 
+import EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap;
 import java.io.BufferedInputStream;
 import java.io.BufferedReader;
 import java.io.ByteArrayOutputStream;
@@ -34,13 +35,9 @@
 import java.net.Socket;
 import java.net.URL;
 import java.util.Properties;
-
+import java.util.concurrent.Executor;
 import org.jboss.logging.Logger;
-import org.jboss.util.threadpool.BasicThreadPool;
-import org.jboss.util.threadpool.BasicThreadPoolMBean;
 
-import EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap;
-
 /**
  * A mini webserver that should be embedded in another application. It can
  * server any file that is available from classloaders that are registered with
@@ -113,7 +110,7 @@
    /**
     * The thread pool used to manage listening threads
     */
-   private BasicThreadPoolMBean threadPool;
+   private Executor executor;
 
    // Public --------------------------------------------------------
 
@@ -193,14 +190,14 @@
       downloadResources = flag;
    }
 
-   public BasicThreadPoolMBean getThreadPool()
+   public Executor getThreadPool()
    {
-      return threadPool;
+      return executor;
    }
 
-   public void setThreadPool(BasicThreadPoolMBean threadPool)
+   public void setThreadPool(Executor executor)
    {
-      this.threadPool = threadPool;
+      this.executor = executor;
    }
 
    /**
@@ -218,8 +215,8 @@
     */
    public void start() throws Exception
    {
-      if (threadPool == null)
-         threadPool = new BasicThreadPool("ClassLoadingPool");
+      if (executor == null)
+         throw new IllegalArgumentException("Required property 'executor' not specified");
       
       try
       {
@@ -492,7 +489,7 @@
 
    protected void listen()
    {
-      threadPool.getInstance().run(this);
+      executor.execute(this);
    }
 
    /**

Modified: trunk/server/src/main/org/jboss/web/WebService.java
===================================================================
--- trunk/server/src/main/org/jboss/web/WebService.java	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/server/src/main/org/jboss/web/WebService.java	2009-05-19 23:08:17 UTC (rev 89140)
@@ -26,15 +26,14 @@
 import java.net.UnknownHostException;
 import java.util.Enumeration;
 import java.util.Properties;
-
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-
+import java.util.concurrent.Executor;
 import org.jboss.bootstrap.spi.ServerConfig;
 import org.jboss.bootstrap.spi.util.ServerConfigUtil;
 import org.jboss.system.ServiceMBeanSupport;
-import org.jboss.util.threadpool.BasicThreadPoolMBean;
 
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+
 /**
  * The WebService implementation. It configures a WebServer instance to
  * perform dynamic class and resource loading.
@@ -209,9 +208,9 @@
     * @jmx:managed-attribute
     * 
     */ 
-   public void setThreadPool(BasicThreadPoolMBean threadPool)
+   public void setExecutor(Executor executor)
    {
-      server.setThreadPool(threadPool);
+      server.setThreadPool(executor);
    }
 
    /**

Modified: trunk/server/src/main/org/jboss/web/WebServiceMBean.java
===================================================================
--- trunk/server/src/main/org/jboss/web/WebServiceMBean.java	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/server/src/main/org/jboss/web/WebServiceMBean.java	2009-05-19 23:08:17 UTC (rev 89140)
@@ -23,13 +23,12 @@
 
 import java.net.URL;
 import java.net.UnknownHostException;
-
-import javax.management.ObjectName;
-
+import java.util.concurrent.Executor;
 import org.jboss.mx.util.ObjectNameFactory;
 import org.jboss.system.ServiceMBean;
-import org.jboss.util.threadpool.BasicThreadPoolMBean;
 
+import javax.management.ObjectName;
+
 /**
  * WebService MBean interface
  * 
@@ -68,7 +67,7 @@
    boolean getDownloadResources();
 
    /** The thread pool used for the WebServer class loading. */
-   void setThreadPool(BasicThreadPoolMBean threadPool);
+   void setExecutor(Executor executor);
    
    /** The RMI codebase URL. */
    String getCodebase();
@@ -78,5 +77,4 @@
    URL addClassLoader(ClassLoader cl);
 
    void removeClassLoader(ClassLoader cl);
-
 }

Modified: trunk/varia/src/resources/services/snmp/deploy/attributes.xml
===================================================================
--- trunk/varia/src/resources/services/snmp/deploy/attributes.xml	2009-05-19 21:51:25 UTC (rev 89139)
+++ trunk/varia/src/resources/services/snmp/deploy/attributes.xml	2009-05-19 23:08:17 UTC (rev 89140)
@@ -18,7 +18,7 @@
       <attribute name="MaxMemory" oid=".3"/>
    </mbean>
 
-   <mbean name="jboss.system:service=ThreadPool">
+   <mbean name="ThreadPool">
       <attribute name="QueueSize" oid=".1.2.3.4.1.4"/>
    </mbean>
    




More information about the jboss-cvs-commits mailing list