Author: norman
Date: Wed Mar  3 11:32:26 2010
New Revision: 918423

URL: http://svn.apache.org/viewvc?rev=918423&view=rev
Log:
Use Threadpool and only log exception on debug

Modified:
    
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/mina/ImapIoHandler.java

Modified: 
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/mina/ImapIoHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/mina/ImapIoHandler.java?rev=918423&r1=918422&r2=918423&view=diff
==============================================================================
--- 
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/mina/ImapIoHandler.java
 (original)
+++ 
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/mina/ImapIoHandler.java
 Wed Mar  3 11:32:26 2010
@@ -21,6 +21,8 @@
 
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 import org.apache.commons.logging.Log;
 import org.apache.james.imap.api.ImapConstants;
@@ -43,6 +45,7 @@
     private final ImapRequestHandler handler;
 
     private final static String IMAP_SESSION = "IMAP_SESSION"; 
+    private ExecutorService executor = Executors.newCachedThreadPool();
     
     public ImapIoHandler(String hello, ImapRequestHandler handler, Log logger) 
{
         this.logger = logger;
@@ -53,7 +56,7 @@
 
     @Override
     public void exceptionCaught(IoSession session, Throwable cause) {
-       logger.error("Error while processing imap request",cause);
+       logger.debug("Error while processing imap request",cause);
        
        // logout on error not sure if that is the best way to handle it
         final ImapSessionImpl imapSession = (ImapSessionImpl) 
session.getAttribute(IMAP_SESSION);     
@@ -88,7 +91,7 @@
     protected void processStreamIo(final IoSession session, final InputStream 
in, final OutputStream out) {  
         
         // it would prolly make sense to use a thread pool...
-        new Thread(new Runnable() {
+        executor.execute(new Runnable() {
         
             public void run() {
                 final ImapSessionImpl imapSession = (ImapSessionImpl) 
session.getAttribute(IMAP_SESSION);
@@ -99,7 +102,7 @@
                 session.close(false);
             }
 
-        }).start();
+        });
 
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to