Author: norman
Date: Thu Jan 28 18:21:27 2010
New Revision: 904199

URL: http://svn.apache.org/viewvc?rev=904199&view=rev
Log:
Check if session is still connected before write back response

Modified:
    
james/server/trunk/mina-socket-library/src/main/java/org/apache/james/socket/mina/AbstractMINASession.java
    
james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/mina/POP3SessionImpl.java
    
james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/RemoteManagerSessionImpl.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/mina/SMTPSessionImpl.java

Modified: 
james/server/trunk/mina-socket-library/src/main/java/org/apache/james/socket/mina/AbstractMINASession.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/mina-socket-library/src/main/java/org/apache/james/socket/mina/AbstractMINASession.java?rev=904199&r1=904198&r2=904199&view=diff
==============================================================================
--- 
james/server/trunk/mina-socket-library/src/main/java/org/apache/james/socket/mina/AbstractMINASession.java
 (original)
+++ 
james/server/trunk/mina-socket-library/src/main/java/org/apache/james/socket/mina/AbstractMINASession.java
 Thu Jan 28 18:21:27 2010
@@ -25,6 +25,7 @@
 import javax.net.ssl.SSLContext;
 
 import org.apache.commons.logging.Log;
+import org.apache.james.api.protocol.Response;
 import org.apache.james.api.protocol.TLSSupportedSession;
 import org.apache.mina.core.session.IoSession;
 import org.apache.mina.filter.ssl.SslFilter;
@@ -126,5 +127,16 @@
     public Log getLogger() {
         return logger;
     }
+    
+
+    /*
+     * (non-Javadoc)
+     * @see 
org.apache.james.api.protocol.ProtocolSession#writeResponse(org.apache.james.api.protocol.Response)
+     */
+    public void writeResponse(Response response) {
+        if (getIoSession().isConnected()) {
+            getIoSession().write(response);
+        }
+    }
 
 }

Modified: 
james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/mina/POP3SessionImpl.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/mina/POP3SessionImpl.java?rev=904199&r1=904198&r2=904199&view=diff
==============================================================================
--- 
james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/mina/POP3SessionImpl.java
 (original)
+++ 
james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/mina/POP3SessionImpl.java
 Thu Jan 28 18:21:27 2010
@@ -26,7 +26,6 @@
 import javax.net.ssl.SSLContext;
 
 import org.apache.commons.logging.Log;
-import org.apache.james.api.protocol.Response;
 import org.apache.james.pop3server.POP3HandlerConfigurationData;
 import org.apache.james.pop3server.POP3Session;
 import org.apache.james.services.MailRepository;
@@ -143,14 +142,6 @@
 
        /*
         * (non-Javadoc)
-        * @see 
org.apache.james.api.protocol.LogEnabledSession#writeResponse(org.apache.james.api.protocol.Response)
-        */
-       public void writeResponse(Response response) {
-               getIoSession().write(response);         
-       }
-
-       /*
-        * (non-Javadoc)
         * @see org.apache.james.api.protocol.TLSSupportedSession#resetState()
         */
        public void resetState() {

Modified: 
james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/RemoteManagerSessionImpl.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/RemoteManagerSessionImpl.java?rev=904199&r1=904198&r2=904199&view=diff
==============================================================================
--- 
james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/RemoteManagerSessionImpl.java
 (original)
+++ 
james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/mina/RemoteManagerSessionImpl.java
 Thu Jan 28 18:21:27 2010
@@ -102,7 +102,7 @@
      */
     public void pushLineHandler(LineHandler<RemoteManagerSession> 
overrideCommandHandler) {
         lineHandlerCount++;
-        session.getFilterChain().addAfter(RemoteManagerResponseFilter.NAME, 
"lineHandler" + lineHandlerCount, new 
FilterLineHandlerAdapter(overrideCommandHandler, REMOTEMANAGER_SESSION));
+        session.getFilterChain().addAfter(RemoteManagerResponseFilter.NAME, 
"lineHandler" + lineHandlerCount, new 
FilterLineHandlerAdapter<RemoteManagerSession>(overrideCommandHandler, 
REMOTEMANAGER_SESSION));
     }
 
     /*
@@ -126,6 +126,8 @@
      * @see 
org.apache.james.api.protocol.LogEnabledSession#writeResponse(org.apache.james.api.protocol.Response)
      */
     public void writeResponse(Response response) {
-        session.write(response);        
+        if (session.isConnected()) {
+            session.write(response);    
+        }
     }
 }

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/mina/SMTPSessionImpl.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/mina/SMTPSessionImpl.java?rev=904199&r1=904198&r2=904199&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/mina/SMTPSessionImpl.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/mina/SMTPSessionImpl.java
 Thu Jan 28 18:21:27 2010
@@ -28,7 +28,6 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.james.api.protocol.LineHandler;
-import org.apache.james.api.protocol.Response;
 import org.apache.james.smtpserver.mina.filter.SMTPResponseFilter;
 import org.apache.james.smtpserver.mina.filter.TarpitFilter;
 import org.apache.james.smtpserver.protocol.SMTPConfiguration;
@@ -132,16 +131,9 @@
             lineHandlerCount++;
             getIoSession().getFilterChain().addAfter(SMTPResponseFilter.NAME,
                     "lineHandler" + lineHandlerCount,
-                    new 
FilterLineHandlerAdapter(overrideCommandHandler,SMTP_SESSION));
+                    new 
FilterLineHandlerAdapter<SMTPSession>(overrideCommandHandler,SMTP_SESSION));
         }
 
-        /*
-         * (non-Javadoc)
-         * @see 
org.apache.james.api.protocol.LogEnabledSession#writeResponse(org.apache.james.api.protocol.Response)
-         */
-        public void writeResponse(Response response) {
-            getIoSession().write(response);
-        }
 
 
         /**



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

Reply via email to