eate a ThreadPoolExecutor using a ManagedThreadFactory.
 * Resource Mappings:
 *  type:      jakarta.enterprise.concurrent.ManagedThreadFactory
 *  jndi-name: concurrent/tf/DefaultThreadFactory
 *&#47;

 &#64;Resource(name="concurrent/tf/DefaultThreadFactory")
 ManagedThreadFactory tf;
 
 public ExecutorService getManagedThreadPool() {

   // All threads will run as part of this application component.
   return new ThreadPoolExecutor(5, 10, 5, TimeUnit.SECONDS,
       new ArrayBlockingQueue&lt;Runnable&gt;(