Thanks Frederic.  I&#39;m still not clear on whether I can just avoid using ExecutionHandler, run long-running business logic directly in the Netty I/O threads, and rely on using a CachedThreadPool for the Netty I/O threads  to ensure that there&#39;s going to be available threads for Netty to do its thing.  <br>
<br>Also, I was wondering whether there was any problem in submitting a task to my own threadpool from my own handler rather using any ExecutionHandler at all (without caring about event ordering or anything like that).  <br>
<br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Date: Sun, 18 Oct 2009 00:24:04 -0700 (PDT)<br>
From: Frederic Bregier &lt;<a href="mailto:fredbregier@free.fr">fredbregier@free.fr</a>&gt;<br>
Subject: Re: When is ExecutionHandler necessary<br>
To: <a href="mailto:netty-users@lists.jboss.org">netty-users@lists.jboss.org</a><br>
Message-ID: &lt;<a href="mailto:1255850644557-3843469.post@n2.nabble.com">1255850644557-3843469.post@n2.nabble.com</a>&gt;<br>
Content-Type: text/plain; charset=us-ascii<br>
<br>
<br>
Hi Dan,<br>
<br>
Take a look at the documentation and specifically the API.<br>
One advantage of the given ExecutionHandler (specifically<br>
OrderedMemoryAwareThreadPoolExecutor) is that message will be kept in order<br>
for one channel. If you don&#39;t have any such need (message can arrived in any<br>
order for any channel), then my believe is that you can use your own<br>
ExecutionHandler.<br>
<br>
Cheers,<br>
Frederic<br>
<br>
<br>
Dan D wrote:<br>
&gt;<br>
&gt; bump<br>
&gt;<br>
&gt; On Thu, Oct 15, 2009 at 11:10 AM, Dan D &lt;<a href="mailto:danotsky@gmail.com">danotsky@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; Below, Trustin mentions using an ExecutionHandler for long-running<br>
&gt;&gt; business<br>
&gt;&gt; logic to prevent tying up Netty&#39;s worker threadpool.  If a cached thread<br>
&gt;&gt; pool is being used for the worker threads, is this still a problem?<br>
&gt;&gt; Won&#39;t<br>
&gt;&gt; the threadpool just expand as necessary if business logic is tying up<br>
&gt;&gt; threads?<br>
&gt;&gt;<br>
&gt;&gt; Also is an ExecutionHandler required, or can we just submit work to our<br>
&gt;&gt; own<br>
&gt;&gt; ExecutorService?  If ExecutionHandler isn&#39;t required, what are the<br>
&gt;&gt; benefits<br>
&gt;&gt; to using one?<br>
&gt;&gt;<br>
&gt;&gt; Thanks.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt; On Tue, Sep 29, 2009 at 3:42 AM, Trustin Lee (???) &lt;<a href="mailto:trustin@gmail.com">trustin@gmail.com</a>&gt;<br>
&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt; &gt; Hi Wade,<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; If your business logic takes long time, then you should use an<br>
&gt;&gt;&gt; &gt; ExecutionHandler. ?Otherwise, other connections will freeze until the<br>
&gt;&gt;&gt; &gt; long operation finishes. ?If there&#39;s no long operation in your<br>
&gt;&gt;&gt; &gt; business logic, you don&#39;t usually need an ExecutionHandler in your<br>
&gt;&gt;&gt; &gt; pipeline.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; I also suggest to put decoders and encoders before ExecutionHandler<br>
&gt;&gt;&gt; &gt; (if there is one), because decoders and encoders usually do CPU-bound<br>
&gt;&gt;&gt; &gt; jobs.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; HTH,<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; ? Trustin Lee, <a href="http://gleamynode.net/" target="_blank">http://gleamynode.net/</a><br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; netty-users mailing list<br>
&gt; <a href="mailto:netty-users@lists.jboss.org">netty-users@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/netty-users" target="_blank">https://lists.jboss.org/mailman/listinfo/netty-users</a><br>
&gt;<br>
&gt;<br>
<br>
<br>
-----<br>
Hardware/Software Architect<br>
--<br>
View this message in context: <a href="http://n2.nabble.com/When-is-ExecutionHandler-necessary-tp3831101p3843469.html" target="_blank">http://n2.nabble.com/When-is-ExecutionHandler-necessary-tp3831101p3843469.html</a><br>

Sent from the Netty User Group mailing list archive at Nabble.com.<br>
<br><br></blockquote></div>