<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>ManagedThreadFactory</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="ManagedThreadFactory";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../javax/enterprise/concurrent/ManagedTaskListener.html" title="interface in javax.enterprise.concurrent"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../javax/enterprise/concurrent/SkippedException.html" title="class in javax.enterprise.concurrent"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/enterprise/concurrent/ManagedThreadFactory.html" target="_top">Frames</a></li>
<li><a href="ManagedThreadFactory.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">javax.enterprise.concurrent</div>
<h2 title="Interface ManagedThreadFactory" class="title">Interface ManagedThreadFactory</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd>java.util.concurrent.ThreadFactory</dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../org/apache/openejb/threads/impl/ManagedThreadFactoryImpl.html" title="class in org.apache.openejb.threads.impl">ManagedThreadFactoryImpl</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">ManagedThreadFactory</span>
extends java.util.concurrent.ThreadFactory</pre>
<div class="block">A manageable version of a <CODE>ThreadFactory</CODE>.<p>

 A ManagedThreadFactory extends the Java&trade; SE ThreadFactory to provide 
 a method for creating threads for execution in a Java&trade; EE environment.
 Implementations of the ManagedThreadFactory are
 provided by a Java&trade; EE Product Provider.  Application Component Providers
 use the Java Naming and Directory Interface&trade; (JNDI) to look-up instances of one
 or more ManagedThreadFactory objects using resource environment references.<p>

 The Concurrency Utilities for Java&trade; EE specification describes several
 behaviors that a ManagedThreadFactory can implement.  The Application
 Component Provider and Deployer identify these requirements and map the
 resource environment reference appropriately.<p>

 Threads returned from the <code>newThread()</code> method should implement the
 <a href="../../../javax/enterprise/concurrent/ManageableThread.html" title="interface in javax.enterprise.concurrent"><code>ManageableThread</code></a> interface.
 
 The Runnable task that is allocated to the new thread using the
 <code>ThreadFactory.newThread(Runnable)</code> method
 will run with the application component context of the component instance
 that created (looked-up) this ManagedThreadFactory instance.<p>

 The task runs without an explicit transaction (they do not enlist in the application
 component's transaction).  If a transaction is required, use a
 <CODE>javax.transaction.UserTransaction</CODE> instance.  A UserTransaction instance is
 available in JNDI using the name: &QUOT;java:comp/UserTransaction&QUOT<p>

 Example:
 <pre>
 public run() {
   // Begin of task
   InitialContext ctx = new InitialContext();
   UserTransaction ut = (UserTransaction) ctx.lookup("java:comp/UserTransaction");
   ut.begin();

   // Perform transactional business logic

   ut.commit();
 }</PRE>

 A ManagedThreadFactory can be used with Java SE ExecutorService implementations directly.<p>

 Example:
 <pre>
 &#47;**
 * Create a ThreadPoolExecutor using a ManagedThreadFactory.
 * Resource Mappings:
 *  type:      javax.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;(10), tf);
 }
 </pre>
 <P></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.0</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.util.concurrent.ThreadFactory">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;java.util.concurrent.ThreadFactory</h3>
<code>newThread</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../javax/enterprise/concurrent/ManagedTaskListener.html" title="interface in javax.enterprise.concurrent"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../javax/enterprise/concurrent/SkippedException.html" title="class in javax.enterprise.concurrent"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/enterprise/concurrent/ManagedThreadFactory.html" target="_top">Frames</a></li>
<li><a href="ManagedThreadFactory.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
