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 rd...@apache.org on 2009/09/16 12:05:47 UTC
svn commit: r815703 - in /james/server/trunk:
avalon-socket-library/src/main/java/org/apache/james/socket/
imapserver-function/src/main/java/org/apache/james/imapserver/
nntpserver-function/src/main/java/org/apache/james/nntpserver/
pop3server-function...
Author: rdonkin
Date: Wed Sep 16 10:05:47 2009
New Revision: 815703
URL: http://svn.apache.org/viewvc?rev=815703&view=rev
Log:
JAMES-920 Switch to imperative method name. defaultErrorHandler in the ProtocolContext API just logs so avoided a callback by removing the method from the API and calling directly. https://issues.apache.org/jira/browse/JAMES-920
Modified:
james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/JamesConnectionBridge.java
james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/ProtocolContext.java
james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/ProtocolHandler.java
james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapHandler.java
james/server/trunk/nntpserver-function/src/main/java/org/apache/james/nntpserver/NNTPHandler.java
james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Handler.java
james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/RemoteManagerHandler.java
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPHandler.java
Modified: james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/JamesConnectionBridge.java
URL: http://svn.apache.org/viewvc/james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/JamesConnectionBridge.java?rev=815703&r1=815702&r2=815703&view=diff
==============================================================================
--- james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/JamesConnectionBridge.java (original)
+++ james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/JamesConnectionBridge.java Wed Sep 16 10:05:47 2009
@@ -297,7 +297,21 @@
log.debug( ioe.getMessage(), ioe );
}
} catch (RuntimeException e) {
- errorHandler(e);
+ if (log.isErrorEnabled()) {
+ log.error(e.getMessage(), e );
+ }
+ if (log.isInfoEnabled()) {
+ StringBuilder exceptionBuffer =
+ new StringBuilder(128)
+ .append("Fatal exception during connection from ")
+ .append(getRemoteHost())
+ .append(" (")
+ .append(getRemoteIP())
+ .append("): ")
+ .append(e.getMessage());
+ log.info(exceptionBuffer.toString(), e);
+ }
+ protocolHandler.fatalFailure(e);
} finally {
//Clear all the session state variables
cleanHandler();
@@ -433,20 +447,6 @@
remoteIP = null;
}
- protected void errorHandler(RuntimeException e) {
- protocolHandler.errorHandler(e);
- }
-
- /**
- * @see org.apache.james.socket.ProtocolContext#defaultErrorHandler(java.lang.RuntimeException)
- */
- public void defaultErrorHandler(RuntimeException e) {
- if (log.isErrorEnabled()) {
- log.error( "Unexpected runtime exception: "
- + e.getMessage(), e );
- }
- }
-
/**
* @see org.apache.james.socket.ProtocolContext#getRemoteIP()
*/
Modified: james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/ProtocolContext.java
URL: http://svn.apache.org/viewvc/james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/ProtocolContext.java?rev=815703&r1=815702&r2=815703&view=diff
==============================================================================
--- james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/ProtocolContext.java (original)
+++ james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/ProtocolContext.java Wed Sep 16 10:05:47 2009
@@ -87,12 +87,6 @@
public PrintWriter getOutputWriter();
/**
- * Provides basic errorhandling cleanup.
- * @param e the runtimeexception
- */
- public void defaultErrorHandler(RuntimeException e);
-
- /**
* Is the socket disconnected?
* @return true if the connection has disconnected,
* false otherwise
Modified: james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/ProtocolHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/ProtocolHandler.java?rev=815703&r1=815702&r2=815703&view=diff
==============================================================================
--- james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/ProtocolHandler.java (original)
+++ james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/ProtocolHandler.java Wed Sep 16 10:05:47 2009
@@ -43,9 +43,10 @@
public void setProtocolHandlerHelper(ProtocolContext phh);
/**
- * Provides errorHandling
+ * Called when a fatal failure occurs during processing.
+ * Provides a last ditch chance to send a message to the client.
* @param e exception
*/
- public abstract void errorHandler(RuntimeException e);
+ public abstract void fatalFailure(RuntimeException e);
}
\ No newline at end of file
Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapHandler.java?rev=815703&r1=815702&r2=815703&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapHandler.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapHandler.java Wed Sep 16 10:05:47 2009
@@ -120,13 +120,12 @@
*
* @param e the RuntimeException
*/
- public void errorHandler(RuntimeException e) {
+ public void fatalFailure(RuntimeException e) {
try {
helper.getOutputStream().write(EMERGENCY_SIGNOFF);
} catch (Throwable t) {
getLogger().debug("Write emergency signoff failed.", t);
}
- helper.defaultErrorHandler(e);
}
public Log getLogger() {
Modified: james/server/trunk/nntpserver-function/src/main/java/org/apache/james/nntpserver/NNTPHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/nntpserver-function/src/main/java/org/apache/james/nntpserver/NNTPHandler.java?rev=815703&r1=815702&r2=815703&view=diff
==============================================================================
--- james/server/trunk/nntpserver-function/src/main/java/org/apache/james/nntpserver/NNTPHandler.java (original)
+++ james/server/trunk/nntpserver-function/src/main/java/org/apache/james/nntpserver/NNTPHandler.java Wed Sep 16 10:05:47 2009
@@ -286,10 +286,9 @@
}
/**
- * @see org.apache.james.socket.AbstractJamesHandler#errorHandler(java.lang.RuntimeException)
+ * @see org.apache.james.socket.AbstractJamesHandler#fatalFailure(java.lang.RuntimeException)
*/
- public void errorHandler(RuntimeException e) {
- helper.defaultErrorHandler(e);
+ public void fatalFailure(RuntimeException e) {
// If the connection has been idled out, the
// socket will be closed and null. Do NOT
// log the exception or attempt to send the
Modified: james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Handler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Handler.java?rev=815703&r1=815702&r2=815703&view=diff
==============================================================================
--- james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Handler.java (original)
+++ james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Handler.java Wed Sep 16 10:05:47 2009
@@ -258,10 +258,9 @@
}
/**
- * @see org.apache.james.socket.AbstractJamesHandler#errorHandler(java.lang.RuntimeException)
+ * @see org.apache.james.socket.AbstractJamesHandler#fatalFailure(java.lang.RuntimeException)
*/
- public void errorHandler(RuntimeException e) {
- helper.defaultErrorHandler(e);
+ public void fatalFailure(RuntimeException e) {
try {
helper.getOutputWriter().println(ERR_RESPONSE + " Error closing connection.");
helper.getOutputWriter().flush();
Modified: james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/RemoteManagerHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/RemoteManagerHandler.java?rev=815703&r1=815702&r2=815703&view=diff
==============================================================================
--- james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/RemoteManagerHandler.java (original)
+++ james/server/trunk/remotemanager-function/src/main/java/org/apache/james/remotemanager/RemoteManagerHandler.java Wed Sep 16 10:05:47 2009
@@ -195,22 +195,11 @@
}
/**
- * @see org.apache.james.socket.AbstractJamesHandler#errorHandler(java.lang.RuntimeException)
+ * @see org.apache.james.socket.AbstractJamesHandler#fatalFailure(java.lang.RuntimeException)
*/
- public void errorHandler(RuntimeException e) {
+ public void fatalFailure(RuntimeException e) {
helper.getOutputWriter().println("Unexpected Error: "+e.getMessage());
helper.getOutputWriter().flush();
- if (helper.getLogger().isErrorEnabled()) {
- StringBuilder exceptionBuffer =
- new StringBuilder(128)
- .append("Exception during connection from ")
- .append(helper.getRemoteHost())
- .append(" (")
- .append(helper.getRemoteIP())
- .append("): ")
- .append(e.getMessage());
- helper.getLogger().error(exceptionBuffer.toString(),e);
- }
}
/**
Modified: james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPHandler.java?rev=815703&r1=815702&r2=815703&view=diff
==============================================================================
--- james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPHandler.java (original)
+++ james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPHandler.java Wed Sep 16 10:05:47 2009
@@ -371,8 +371,7 @@
}
}
- public void errorHandler(RuntimeException e) {
- helper.defaultErrorHandler(e);
+ public void fatalFailure(RuntimeException e) {
}
public void setProtocolHandlerHelper(ProtocolContext phh) {
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org