You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2010/01/18 15:47:19 UTC

svn commit: r900413 - in /james/server/trunk: avalon-user-function/src/test/java/org/apache/james/userrepository/ imapserver-function/src/main/java/org/apache/james/imapserver/mina/ mailets-function/ remotemanager-function/src/main/java/org/apache/jame...

Author: norman
Date: Mon Jan 18 14:47:18 2010
New Revision: 900413

URL: http://svn.apache.org/viewvc?rev=900413&view=rev
Log:
Better handing of exceptions in smtpserver and imapserver
cleanup of code

Modified:
    james/server/trunk/avalon-user-function/src/test/java/org/apache/james/userrepository/DefaultUsersJdbcRepositoryTest.java
    james/server/trunk/avalon-user-function/src/test/java/org/apache/james/userrepository/JamesUsersJdbcRepositoryTest.java
    james/server/trunk/avalon-user-function/src/test/java/org/apache/james/userrepository/ListUsersJdbcRepositoryTest.java
    james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/mina/ImapIoHandler.java
    james/server/trunk/mailets-function/pom.xml
    james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/AsyncRemoteManager.java
    james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/filter/RemoteManagerResponseFilter.java
    james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/filter/RemoteManagerValidationFilter.java
    james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SMTPServerDNSServiceAdapter.java
    james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SendMailHandler.java
    james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SpamAssassinHandler.java
    james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/URIRBLHandler.java
    james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptHandler.java
    james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptMX.java
    james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/mina/SMTPIoHandler.java

Modified: james/server/trunk/avalon-user-function/src/test/java/org/apache/james/userrepository/DefaultUsersJdbcRepositoryTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/avalon-user-function/src/test/java/org/apache/james/userrepository/DefaultUsersJdbcRepositoryTest.java?rev=900413&r1=900412&r2=900413&view=diff
==============================================================================
--- james/server/trunk/avalon-user-function/src/test/java/org/apache/james/userrepository/DefaultUsersJdbcRepositoryTest.java (original)
+++ james/server/trunk/avalon-user-function/src/test/java/org/apache/james/userrepository/DefaultUsersJdbcRepositoryTest.java Mon Jan 18 14:47:18 2010
@@ -20,13 +20,12 @@
 package org.apache.james.userrepository;
 
 import org.apache.avalon.cornerstone.blocks.datasources.DefaultDataSourceSelector;
-import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.avalon.framework.configuration.DefaultConfiguration;
 import org.apache.avalon.framework.container.ContainerUtil;
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.DefaultConfigurationBuilder;
 import org.apache.commons.logging.impl.SimpleLog;
 import org.apache.james.api.user.UsersRepository;
 import org.apache.james.test.mock.james.MockFileSystem;
-import org.apache.james.test.mock.util.AttrValConfiguration;
 import org.apache.james.test.util.Util;
 import org.apache.james.util.ConfigurationAdapter;
 
@@ -62,11 +61,11 @@
         
         res.setDatasources(dataSourceSelector );
         
-        DefaultConfiguration configuration = new DefaultConfiguration("test");
-        configuration.setAttribute("destinationURL", "db://maildb/"+tableString);
-        configuration.addChild(new AttrValConfiguration("sqlFile","file://conf/sqlResources.xml"));
+        DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder();
+        configuration.addProperty("[@destinationURL]", "db://maildb/"+tableString);
+        configuration.addProperty("sqlFile","file://conf/sqlResources.xml");
         res.setLog(new SimpleLog("MockLog"));
-        res.configure(new ConfigurationAdapter(configuration));
+        res.configure(configuration);
         res.init();
     }
 

Modified: james/server/trunk/avalon-user-function/src/test/java/org/apache/james/userrepository/JamesUsersJdbcRepositoryTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/avalon-user-function/src/test/java/org/apache/james/userrepository/JamesUsersJdbcRepositoryTest.java?rev=900413&r1=900412&r2=900413&view=diff
==============================================================================
--- james/server/trunk/avalon-user-function/src/test/java/org/apache/james/userrepository/JamesUsersJdbcRepositoryTest.java (original)
+++ james/server/trunk/avalon-user-function/src/test/java/org/apache/james/userrepository/JamesUsersJdbcRepositoryTest.java Mon Jan 18 14:47:18 2010
@@ -19,17 +19,16 @@
 
 package org.apache.james.userrepository;
 
-import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.avalon.framework.configuration.DefaultConfiguration;
+
 import org.apache.avalon.framework.container.ContainerUtil;
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.DefaultConfigurationBuilder;
 import org.apache.commons.logging.impl.SimpleLog;
 import org.apache.james.api.user.JamesUser;
 import org.apache.james.api.user.UsersRepository;
 import org.apache.james.api.vut.VirtualUserTable;
 import org.apache.james.test.mock.james.MockFileSystem;
-import org.apache.james.test.mock.util.AttrValConfiguration;
 import org.apache.james.test.util.Util;
-import org.apache.james.util.ConfigurationAdapter;
 import org.apache.mailet.MailAddress;
 
 import java.util.Collection;
@@ -63,11 +62,11 @@
         res.setFileSystem(new MockFileSystem());
         res.setDatasources(Util.getDataSourceSelector());
         
-        DefaultConfiguration configuration = new DefaultConfiguration("test");
-        configuration.setAttribute("destinationURL", "db://maildb/"+tableString);
-        configuration.addChild(new AttrValConfiguration("sqlFile","file://conf/sqlResources.xml"));
+        DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder();
+        configuration.addProperty("[@destinationURL]", "db://maildb/"+tableString);
+        configuration.addProperty("sqlFile","file://conf/sqlResources.xml");
         res.setLog(new SimpleLog("MockLog"));
-        res.configure(new ConfigurationAdapter(configuration));
+        res.configure(configuration);
         res.init();
     }
 

Modified: james/server/trunk/avalon-user-function/src/test/java/org/apache/james/userrepository/ListUsersJdbcRepositoryTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/avalon-user-function/src/test/java/org/apache/james/userrepository/ListUsersJdbcRepositoryTest.java?rev=900413&r1=900412&r2=900413&view=diff
==============================================================================
--- james/server/trunk/avalon-user-function/src/test/java/org/apache/james/userrepository/ListUsersJdbcRepositoryTest.java (original)
+++ james/server/trunk/avalon-user-function/src/test/java/org/apache/james/userrepository/ListUsersJdbcRepositoryTest.java Mon Jan 18 14:47:18 2010
@@ -19,16 +19,13 @@
 
 package org.apache.james.userrepository;
 
-import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.avalon.framework.configuration.DefaultConfiguration;
 import org.apache.avalon.framework.container.ContainerUtil;
-import org.apache.commons.configuration.ConfigurationUtils;
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.DefaultConfigurationBuilder;
 import org.apache.commons.logging.impl.SimpleLog;
 import org.apache.james.api.user.UsersRepository;
 import org.apache.james.test.mock.james.MockFileSystem;
-import org.apache.james.test.mock.util.AttrValConfiguration;
 import org.apache.james.test.util.Util;
-import org.apache.james.util.ConfigurationAdapter;
 
 import java.util.Iterator;
 
@@ -69,11 +66,11 @@
         res.setFileSystem(new MockFileSystem());
         res.setDatasources(Util.getDataSourceSelector());
         
-        DefaultConfiguration configuration = new DefaultConfiguration("test");
-        configuration.setAttribute("destinationURL", "db://maildb/"+tableString);
-        configuration.addChild(new AttrValConfiguration("sqlFile","file://conf/sqlResources.xml"));
+        DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder();
+        configuration.addProperty("[@destinationURL]", "db://maildb/"+tableString);
+        configuration.addProperty("sqlFile","file://conf/sqlResources.xml");
         res.setLog(new SimpleLog("MockLog"));
-        res.configure(new ConfigurationAdapter(configuration));
+        res.configure(configuration);
         
         res.init();
     }

Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/mina/ImapIoHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/mina/ImapIoHandler.java?rev=900413&r1=900412&r2=900413&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/mina/ImapIoHandler.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/mina/ImapIoHandler.java Mon Jan 18 14:47:18 2010
@@ -19,18 +19,14 @@
 
 package org.apache.james.imapserver.mina;
 
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 
 import org.apache.commons.logging.Log;
 import org.apache.james.imap.api.ImapConstants;
-import org.apache.james.imap.encode.ImapResponseComposer;
-import org.apache.james.imap.encode.base.ImapResponseComposerImpl;
 import org.apache.james.imap.main.ImapRequestHandler;
 import org.apache.james.imap.main.ImapSessionImpl;
 import org.apache.mina.core.buffer.IoBuffer;
-import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;
 import org.apache.mina.handler.stream.StreamIoHandler;
 
@@ -40,13 +36,14 @@
  */
 public class ImapIoHandler extends StreamIoHandler{
 
-    private Log logger;
+    private final Log logger;
 
-    private String hello;
+    private final String hello;
 
-    private ImapRequestHandler handler;
+    private final ImapRequestHandler handler;
 
     private final static String IMAP_SESSION = "IMAP_SESSION"; 
+    
     public ImapIoHandler(String hello, ImapRequestHandler handler, Log logger) {
         this.logger = logger;
         this.hello = hello;
@@ -56,8 +53,14 @@
 
     @Override
     public void exceptionCaught(IoSession session, Throwable cause) {
-        cause.printStackTrace();
-        super.exceptionCaught(session, cause);
+    	logger.error("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);     
+        if (imapSession != null) imapSession.logout();
+        session.close(false);
+        
+    	super.exceptionCaught(session, cause);
     }
 
     @Override
@@ -87,15 +90,14 @@
         // it would prolly make sense to use a thread pool...
         new Thread(new Runnable() {
         
+            public void run() {
+                final ImapSessionImpl imapSession = (ImapSessionImpl) session.getAttribute(IMAP_SESSION);
 
-        public void run() {
-            final ImapSessionImpl imapSession = (ImapSessionImpl) session.getAttribute(IMAP_SESSION);            
-
-            // handle requests in a loop
-            while(handler.handleRequest( in, out, imapSession ));
-            if (imapSession != null) imapSession.logout();
-            session.close(false);
-        }
+                // handle requests in a loop
+                while (handler.handleRequest(in, out, imapSession));
+                if (imapSession != null) imapSession.logout();
+                session.close(false);
+            }
 
         }).start();
 

Modified: james/server/trunk/mailets-function/pom.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/mailets-function/pom.xml?rev=900413&r1=900412&r2=900413&view=diff
==============================================================================
--- james/server/trunk/mailets-function/pom.xml (original)
+++ james/server/trunk/mailets-function/pom.xml Mon Jan 18 14:47:18 2010
@@ -27,7 +27,7 @@
   <groupId>org.apache.james</groupId>
   <artifactId>james-server-mailets-function</artifactId>
   <name>Apache JAMES Server Mailets function</name>
-
+  <packaging>jar</packaging>
   <dependencies>
     <dependency>
       <groupId>${javax.mail.groupId}</groupId>

Modified: james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/AsyncRemoteManager.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/AsyncRemoteManager.java?rev=900413&r1=900412&r2=900413&view=diff
==============================================================================
--- james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/AsyncRemoteManager.java (original)
+++ james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/AsyncRemoteManager.java Mon Jan 18 14:47:18 2010
@@ -57,6 +57,7 @@
         return "plain";
     }
 
+    @SuppressWarnings("unchecked")
     @Override
     protected void doConfigure(HierarchicalConfiguration config) throws ConfigurationException {
         super.doConfigure(config);

Modified: james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/filter/RemoteManagerResponseFilter.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/filter/RemoteManagerResponseFilter.java?rev=900413&r1=900412&r2=900413&view=diff
==============================================================================
--- james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/filter/RemoteManagerResponseFilter.java (original)
+++ james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/filter/RemoteManagerResponseFilter.java Mon Jan 18 14:47:18 2010
@@ -19,8 +19,6 @@
 
 package org.apache.james.remotemanager.mina.filter;
 
-import java.util.Locale;
-
 import org.apache.james.remotemanager.RemoteManagerResponse;
 import org.apache.james.socket.mina.filter.AbstractResponseFilter;
 import org.apache.mina.core.session.IoSession;

Modified: james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/filter/RemoteManagerValidationFilter.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/filter/RemoteManagerValidationFilter.java?rev=900413&r1=900412&r2=900413&view=diff
==============================================================================
--- james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/filter/RemoteManagerValidationFilter.java (original)
+++ james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/filter/RemoteManagerValidationFilter.java Mon Jan 18 14:47:18 2010
@@ -20,7 +20,6 @@
 package org.apache.james.remotemanager.mina.filter;
 
 import org.apache.commons.logging.Log;
-import org.apache.james.remotemanager.RemoteManagerRequest;
 import org.apache.james.remotemanager.RemoteManagerResponse;
 import org.apache.james.socket.mina.filter.AbstractValidationFilter;
 import org.apache.mina.core.write.DefaultWriteRequest;

Modified: james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SMTPServerDNSServiceAdapter.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SMTPServerDNSServiceAdapter.java?rev=900413&r1=900412&r2=900413&view=diff
==============================================================================
--- james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SMTPServerDNSServiceAdapter.java (original)
+++ james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SMTPServerDNSServiceAdapter.java Mon Jan 18 14:47:18 2010
@@ -92,7 +92,6 @@
     /**
      * @see org.apache.james.smtpserver.protocol.DNSService#getSMTPHostAddresses(java.lang.String)
      */
-    @SuppressWarnings("unchecked")
     public Iterator<HostAddress> getSMTPHostAddresses(String domainName) throws TemporaryResolutionException {
         try {
             return dns.getSMTPHostAddresses(domainName);

Modified: james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SendMailHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SendMailHandler.java?rev=900413&r1=900412&r2=900413&view=diff
==============================================================================
--- james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SendMailHandler.java (original)
+++ james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SendMailHandler.java Mon Jan 18 14:47:18 2010
@@ -32,6 +32,7 @@
 import org.apache.james.smtpserver.protocol.hook.HookResult;
 import org.apache.james.smtpserver.protocol.hook.HookReturnCode;
 import org.apache.mailet.Mail;
+import org.apache.mailet.MailAddress;
 
 
 /**
@@ -67,7 +68,7 @@
 
         try {
             mailServer.sendMail(mail);
-            Collection theRecipients = mail.getRecipients();
+            Collection<MailAddress> theRecipients = mail.getRecipients();
             String recipientString = "";
             if (theRecipients != null) {
                 recipientString = theRecipients.toString();

Modified: james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SpamAssassinHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SpamAssassinHandler.java?rev=900413&r1=900412&r2=900413&view=diff
==============================================================================
--- james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SpamAssassinHandler.java (original)
+++ james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SpamAssassinHandler.java Mon Jan 18 14:47:18 2010
@@ -138,11 +138,11 @@
                     spamdPort);
             sa.scanMail(message);
 
-            Iterator headers = sa.getHeadersAsAttribute().keySet().iterator();
+            Iterator<String> headers = sa.getHeadersAsAttribute().keySet().iterator();
 
             // Add the headers
             while (headers.hasNext()) {
-                String key = headers.next().toString();
+                String key = headers.next();
 
                 mail.setAttribute(key, (String) sa.getHeadersAsAttribute().get(
                         key));

Modified: james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/URIRBLHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/URIRBLHandler.java?rev=900413&r1=900412&r2=900413&view=diff
==============================================================================
--- james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/URIRBLHandler.java (original)
+++ james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/URIRBLHandler.java Mon Jan 18 14:47:18 2010
@@ -165,12 +165,12 @@
 
             // we should try to retrieve details
             if (getDetail) {
-                Collection txt = dnsService.findTXTRecords(target+ "." + uRblServer);
+                Collection<String> txt = dnsService.findTXTRecords(target+ "." + uRblServer);
 
                 // Check if we found a txt record
                 if (!txt.isEmpty()) {
                     // Set the detail
-                    detail = txt.iterator().next().toString();
+                    detail = txt.iterator().next();
 
                 }
             }

Modified: james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptHandler.java?rev=900413&r1=900412&r2=900413&view=diff
==============================================================================
--- james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptHandler.java (original)
+++ james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptHandler.java Mon Jan 18 14:47:18 2010
@@ -26,7 +26,6 @@
 import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
 
-import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.api.user.UsersRepository;

Modified: james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptMX.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptMX.java?rev=900413&r1=900412&r2=900413&view=diff
==============================================================================
--- james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptMX.java (original)
+++ james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptMX.java Mon Jan 18 14:47:18 2010
@@ -141,7 +141,7 @@
         // Email should be deliver local
         if (!domain.equals(LOCALHOST)) {
  
-            Iterator mx = null;
+            Iterator<String> mx = null;
             try {
                 mx = dnsService.findMXRecords(domain).iterator();
             } catch (TemporaryResolutionException e1) {
@@ -150,7 +150,7 @@
 
             if (mx != null && mx.hasNext()) {
                 while (mx.hasNext()) {
-                    String mxRec = mx.next().toString();
+                    String mxRec = mx.next();
 
                      try {
                         String ip = dnsService.getByName(mxRec).getHostAddress();

Modified: james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/mina/SMTPIoHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/mina/SMTPIoHandler.java?rev=900413&r1=900412&r2=900413&view=diff
==============================================================================
--- james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/mina/SMTPIoHandler.java (original)
+++ james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/mina/SMTPIoHandler.java Mon Jan 18 14:47:18 2010
@@ -27,6 +27,8 @@
 import org.apache.james.smtpserver.protocol.ConnectHandler;
 import org.apache.james.smtpserver.protocol.LineHandler;
 import org.apache.james.smtpserver.protocol.SMTPConfiguration;
+import org.apache.james.smtpserver.protocol.SMTPResponse;
+import org.apache.james.smtpserver.protocol.SMTPRetCode;
 import org.apache.james.smtpserver.protocol.SMTPSession;
 import org.apache.mina.core.service.IoHandlerAdapter;
 import org.apache.mina.core.session.IdleStatus;
@@ -56,16 +58,6 @@
         this.logger = logger;
         this.contextFactory = contextFactory;
     }
-    
-
-    /**
-     * @see org.apache.james.api.protocol.AbstractCommandDispatcher#getLog()
-     */
-    protected Log getLog() {
-        return logger;
-    }
-
-
 
     /**
      * @see org.apache.mina.core.service.IoHandlerAdapter#messageReceived(org.apache.mina.core.session.IoSession, java.lang.Object)
@@ -87,8 +79,8 @@
             throws Exception {
         logger.error("Caught exception: " + session.getCurrentWriteMessage(),
                 exception);
-        // just close session
-        session.close(true);
+        
+        session.write(new SMTPResponse(SMTPRetCode.LOCAL_ERROR, "Unable to process smtp request"));
     }
 
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org