Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud)

97677: Merged 5.0.N (5.0.2) to HEAD-BUG-FIX (5.1/Cloud)
      97594: Merged DEV to 5.0.N (5.0.2)
         97048: MNT-13339: No exception is present in log files when Alfresco IMAP Service port is blocked
            - extended ImapServer class and overridden openServerSocket method to add exceptions logging


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@97698 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2015-02-21 07:50:07 +00:00
parent fb978c53cc
commit a1e1f0791b

View File

@@ -30,7 +30,9 @@ import com.icegreen.greenmail.Managers;
import com.icegreen.greenmail.imap.ImapHostManager;
import com.icegreen.greenmail.imap.ImapServer;
import com.icegreen.greenmail.user.UserManager;
import com.icegreen.greenmail.util.DummySSLServerSocketFactory;
import com.icegreen.greenmail.util.ServerSetup;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLServerSocket;
@@ -91,6 +93,52 @@ public class AlfrescoImapServer extends AbstractLifecycleBean
return ret;
}
}
private class DefaultImapServer extends ImapServer
{
public DefaultImapServer(ServerSetup setup, Managers managers)
{
super(setup, managers);
}
// same behavior as in overridden method, just added exception logging
protected synchronized ServerSocket openServerSocket() throws IOException {
ServerSocket ret;
if (setup.isSecure())
{
try
{
ret = (SSLServerSocket) DummySSLServerSocketFactory.getDefault().createServerSocket(
setup.getPort(), 0, bindTo);
}
catch (IOException e)
{
if(logger.isErrorEnabled())
{
logger.error("Unable to open socket bindTo:" + bindTo + " port " + setup.getPort(), e);
}
throw e;
}
}
else
{
try
{
ret = new ServerSocket(setup.getPort(), 0, bindTo);
}
catch (IOException e)
{
if(logger.isErrorEnabled())
{
logger.error("Unable to open socket bindTo:" + bindTo + " port " + setup.getPort(), e);
}
throw e;
}
}
return ret;
}
}
private static Log logger = LogFactory.getLog(AlfrescoImapServer.class);
@@ -201,7 +249,7 @@ public class AlfrescoImapServer extends AbstractLifecycleBean
if(isImapEnabled())
{
serverImpl = new ImapServer(new ServerSetup(port, host, ServerSetup.PROTOCOL_IMAP), imapManagers);
serverImpl = new DefaultImapServer(new ServerSetup(port, host, ServerSetup.PROTOCOL_IMAP), imapManagers);
serverImpl.startService(null);
if (logger.isInfoEnabled())