Author: eric
Date: Fri Feb 8 08:26:41 2013
New Revision: 1443875
URL: http://svn.apache.org/r1443875
Log:
Fix missing bits to make server IMAP injection work + tune spring-server.xml to
better define dependencies and get rid of some @Named + simple format of
various classes (JAMES-1477)
Modified:
james/server/trunk/app/src/main/resources/META-INF/org/apache/james/spring-server.xml
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapChannelUpstreamHandler.java
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapIdleStateHandler.java
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyStreamImapRequestLineReader.java
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServer.java
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServerFactory.java
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java
james/server/trunk/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java
james/server/trunk/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java
james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java
james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java
james/server/trunk/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
Modified:
james/server/trunk/app/src/main/resources/META-INF/org/apache/james/spring-server.xml
URL:
http://svn.apache.org/viewvc/james/server/trunk/app/src/main/resources/META-INF/org/apache/james/spring-server.xml?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/app/src/main/resources/META-INF/org/apache/james/spring-server.xml
(original)
+++
james/server/trunk/app/src/main/resources/META-INF/org/apache/james/spring-server.xml
Fri Feb 8 08:26:41 2013
@@ -253,25 +253,39 @@
<!--
SMTP Server
-->
- <bean id="smtpserver"
class="org.apache.james.smtpserver.netty.SMTPServerFactory"/>
+ <bean id="smtpserver"
class="org.apache.james.smtpserver.netty.SMTPServerFactory">
+ <property name="protocolHandlerLoader" ref="protocolhandlerloader"/>
+ <property name="fileSystem" ref="filesystem"/>
+ <property name="dnsService" ref="dnsservice"/>
+ </bean>
<!--
LMTP Server
-->
- <bean id="lmtpserver"
class="org.apache.james.lmtpserver.netty.LMTPServerFactory"/>
+ <bean id="lmtpserver"
class="org.apache.james.lmtpserver.netty.LMTPServerFactory">
+ <property name="protocolHandlerLoader" ref="protocolhandlerloader"/>
+ <property name="fileSystem" ref="filesystem"/>
+ </bean>
<!--
POP3 Server
-->
- <bean id="pop3server"
class="org.apache.james.pop3server.netty.POP3ServerFactory"/>
+ <bean id="pop3server"
class="org.apache.james.pop3server.netty.POP3ServerFactory">
+ <property name="protocolHandlerLoader" ref="protocolhandlerloader"/>
+ <property name="fileSystem" ref="filesystem"/>
+ </bean>
<!--
- IMAP Server
+ IMAP4 Server
-->
+
<bean id="imapserver"
class="org.apache.james.imapserver.netty.IMAPServerFactory">
- <property name="imapDecoder" ref="imapDecoder"/>
+ <property name="imapProcessor" ref="imapProcessor"/>
<property name="imapEncoder" ref="imapEncoder"/>
+ <property name="imapDecoder" ref="imapDecoder"/>
+ <property name="fileSystem" ref="filesystem"/>
</bean>
+
<!-- The imapProcessor configuration will be reviewed when IMAP will be
integrated into Protocols project -->
<!-- Temporary configuration - see IMAP-357 -->
<bean id="imapProcessor"
class="org.apache.james.imap.processor.main.DefaultImapProcessorFactory"
factory-method="createXListSupportingProcessor">
@@ -289,10 +303,12 @@
</set>
</constructor-arg>
</bean>
- <bean id="imapDecoder" factory-bean="imapDecoderFactory"
factory-method="buildImapDecoder"/>
+
<bean id="imapDecoderFactory"
class="org.apache.james.imap.main.DefaultImapDecoderFactory"/>
- <bean id="imapEncoder" factory-bean="imapEncoderFactory"
factory-method="buildImapEncoder"/>
+ <bean id="imapDecoder" factory-bean="imapDecoderFactory"
factory-method="buildImapDecoder"/>
+
<bean id="imapEncoderFactory"
class="org.apache.james.imap.encode.main.DefaultImapEncoderFactory"/>
+ <bean id="imapEncoder" factory-bean="imapEncoderFactory"
factory-method="buildImapEncoder"/>
<!--
===========================================================================
Modified:
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
(original)
+++
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
Fri Feb 8 08:26:41 2013
@@ -22,7 +22,9 @@ import static org.jboss.netty.channel.Ch
import java.util.concurrent.TimeUnit;
+import javax.annotation.Resource;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.net.ssl.SSLEngine;
import org.apache.commons.configuration.ConfigurationException;
@@ -49,59 +51,49 @@ import org.jboss.netty.handler.timeout.I
import org.jboss.netty.util.HashedWheelTimer;
/**
- * NIO IMAP Server which use Netty
+ * NIO IMAP Server which use Netty.
*/
public class IMAPServer extends AbstractConfigurableAsyncServer implements
ImapConstants, IMAPServerMBean, NettyConstants {
private static final String softwaretype = "JAMES " + VERSION + " Server ";
- private String hello;
private ImapProcessor processor;
private ImapEncoder encoder;
-
private ImapDecoder decoder;
+ private String hello;
private boolean compress;
-
private int maxLineLength;
-
private int inMemorySizeLimit;
-
private boolean plainAuthDisallowed;
-
private int timeout;
-
private int literalSizeLimit;
- // Use a big default
- public final static int DEFAULT_MAX_LINE_LENGTH = 65536;
-
- // Use 10MB as default
- public final static int DEFAULT_IN_MEMORY_SIZE_LIMIT = 10485760;
-
- // default timeout is 30 seconds
- public final static int DEFAULT_TIMEOUT = 30 * 60;
-
+ public final static int DEFAULT_MAX_LINE_LENGTH = 65536; // Use a big
default
+ public final static int DEFAULT_IN_MEMORY_SIZE_LIMIT = 10485760; // Use
10MB as default
+ public final static int DEFAULT_TIMEOUT = 30 * 60; // default timeout is
30 seconds
public final static int DEFAULT_LITERAL_SIZE_LIMIT = 0;
@Inject
- public void setImapDecoder(ImapDecoder decoder) {
- this.decoder = decoder;
+ public void setImapProcessor(@Named("imapProcessor") ImapProcessor
processor) {
+ this.processor = processor;
}
@Inject
- public void setImapEncoder(ImapEncoder encoder) {
- this.encoder = encoder;
+ public void setImapDecoder(@Named("imapDecoder") ImapDecoder decoder) {
+ this.decoder = decoder;
}
@Inject
- public void setImapProcessor(ImapProcessor processor) {
- this.processor = processor;
+ public void setImapEncoder(@Named("imapEncoder") ImapEncoder encoder) {
+ this.encoder = encoder;
}
@Override
public void doConfigure(final HierarchicalConfiguration configuration)
throws ConfigurationException {
+
super.doConfigure(configuration);
+
hello = softwaretype + " Server " + getHelloName() + " is ready.";
compress = configuration.getBoolean("compress", false);
maxLineLength = configuration.getInt("maxLineLength",
DEFAULT_MAX_LINE_LENGTH);
@@ -113,9 +105,11 @@ public class IMAPServer extends Abstract
if (timeout < DEFAULT_TIMEOUT) {
throw new ConfigurationException("Minimum timeout of 30 minutes
required. See rfc2060 5.4 for details");
}
+
if (timeout < 0) {
timeout = 0;
}
+
}
/**
@@ -135,7 +129,9 @@ public class IMAPServer extends Abstract
@Override
protected ChannelPipelineFactory createPipelineFactory(final ChannelGroup
group) {
+
return new ChannelPipelineFactory() {
+
private final ChannelGroupHandler groupHandler = new
ChannelGroupHandler(group);
private final HashedWheelTimer timer = new HashedWheelTimer();
Modified:
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java
(original)
+++
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java
Fri Feb 8 08:26:41 2013
@@ -30,12 +30,11 @@ import org.apache.james.filesystem.api.F
import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.decode.ImapDecoder;
import org.apache.james.imap.encode.ImapEncoder;
-import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader;
import org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer;
import org.apache.james.protocols.lib.netty.AbstractServerFactory;
import org.slf4j.Logger;
-public class IMAPServerFactory extends AbstractServerFactory{
+public class IMAPServerFactory extends AbstractServerFactory {
private FileSystem fileSystem;
private ImapDecoder decoder;
@@ -43,33 +42,33 @@ public class IMAPServerFactory extends A
private ImapProcessor processor;
@Inject
- @Resource(name = "filesystem")
public final void setFileSystem(@Named("filesystem") FileSystem
filesystem) {
this.fileSystem = filesystem;
}
+ @Inject
+ public void setImapProcessor(@Named("imapProcessor") ImapProcessor
processor) {
+ this.processor = processor;
+ }
+
@Inject
- public void setImapDecoder(ImapDecoder decoder) {
+ public void setImapDecoder(@Named("imapDecoder") ImapDecoder decoder) {
this.decoder = decoder;
}
@Inject
- public void setImapEncoder(ImapEncoder encoder) {
+ public void setImapEncoder(@Named("imapEncoder") ImapEncoder encoder) {
this.encoder = encoder;
}
- @Inject
- public void setImapProcessor(ImapProcessor processor) {
- this.processor = processor;
- }
-
protected IMAPServer createServer() {
return new IMAPServer();
}
@SuppressWarnings("unchecked")
@Override
- protected List<AbstractConfigurableAsyncServer> createServers(Logger log,
HierarchicalConfiguration config) throws Exception{
+ protected List<AbstractConfigurableAsyncServer> createServers(Logger log,
HierarchicalConfiguration config) throws Exception {
+
List<AbstractConfigurableAsyncServer> servers = new
ArrayList<AbstractConfigurableAsyncServer>();
List<HierarchicalConfiguration> configs =
config.configurationsAt("imapserver");
@@ -85,7 +84,7 @@ public class IMAPServerFactory extends A
}
return servers;
+
}
-
}
Modified:
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapChannelUpstreamHandler.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapChannelUpstreamHandler.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapChannelUpstreamHandler.java
(original)
+++
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapChannelUpstreamHandler.java
Fri Feb 8 08:26:41 2013
@@ -91,7 +91,6 @@ public class ImapChannelUpstreamHandler
@Override
public void channelBound(final ChannelHandlerContext ctx,
ChannelStateEvent e) throws Exception {
-
ImapSession imapsession = new NettyImapSession(ctx.getChannel(),
logger, context, enabledCipherSuites, compress, plainAuthDisallowed);
attributes.set(ctx.getChannel(), imapsession);
super.channelBound(ctx, e);
@@ -99,6 +98,7 @@ public class ImapChannelUpstreamHandler
@Override
public void channelClosed(ChannelHandlerContext ctx, ChannelStateEvent e)
throws Exception {
+
InetSocketAddress address = (InetSocketAddress)
ctx.getChannel().getRemoteAddress();
getLogger(ctx.getChannel()).info("Connection closed for " +
address.getAddress().getHostAddress());
@@ -113,6 +113,7 @@ public class ImapChannelUpstreamHandler
@Override
public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent
e) throws Exception {
+
InetSocketAddress address = (InetSocketAddress)
ctx.getChannel().getRemoteAddress();
getLogger(ctx.getChannel()).info("Connection established from " +
address.getAddress().getHostAddress());
@@ -127,6 +128,8 @@ public class ImapChannelUpstreamHandler
@Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e)
throws Exception {
+
+ getLogger(ctx.getChannel()).warn("Error while processing imap request:
" + e.getCause().getClass().getName() + " - " + e.getCause().getMessage());
getLogger(ctx.getChannel()).debug("Error while processing imap
request", e.getCause());
if (e.getCause() instanceof TooLongFrameException) {
@@ -147,7 +150,9 @@ public class ImapChannelUpstreamHandler
// See also JAMES-1190
ImapResponseComposer composer = (ImapResponseComposer)
ctx.getAttachment();
composer.untaggedResponse(ImapConstants.BAD + " failed. Maximum
command line length exceeded");
+
} else {
+
// logout on error not sure if that is the best way to handle it
final ImapSession imapSession = (ImapSession)
attributes.get(ctx.getChannel());
if (imapSession != null)
@@ -165,6 +170,7 @@ public class ImapChannelUpstreamHandler
@Override
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e)
throws Exception {
+
ImapSession session = (ImapSession) attributes.get(ctx.getChannel());
ImapResponseComposer response = (ImapResponseComposer)
ctx.getAttachment();
ImapMessage message = (ImapMessage) e.getMessage();
@@ -202,6 +208,7 @@ public class ImapChannelUpstreamHandler
}
super.messageReceived(ctx, e);
+
}
}
Modified:
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapIdleStateHandler.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapIdleStateHandler.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapIdleStateHandler.java
(original)
+++
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapIdleStateHandler.java
Fri Feb 8 08:26:41 2013
@@ -28,7 +28,7 @@ import org.jboss.netty.handler.timeout.I
/**
* {@link IdleStateAwareChannelHandler} which will call {@link
ImapSession#logout()} if the
- * connected client did not receive or send any traffic in a given timeframe
+ * connected client did not receive or send any traffic in a given timeframe.
*/
public class ImapIdleStateHandler extends IdleStateAwareChannelHandler
implements NettyConstants {
@@ -49,8 +49,9 @@ public class ImapIdleStateHandler extend
ctx.getChannel().close();
}
+
super.channelIdle(ctx, e);
+
}
-
}
Modified:
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java
(original)
+++
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java
Fri Feb 8 08:26:41 2013
@@ -37,7 +37,6 @@ import org.jboss.netty.buffer.ChannelBuf
import org.jboss.netty.buffer.ChannelBuffers;
import org.jboss.netty.channel.Channel;
import org.jboss.netty.channel.ChannelFutureListener;
-import org.jboss.netty.channel.ChannelHandler;
import org.jboss.netty.channel.ChannelHandlerContext;
import org.jboss.netty.channel.ChannelPipeline;
import org.jboss.netty.channel.ChannelStateEvent;
Modified:
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyStreamImapRequestLineReader.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyStreamImapRequestLineReader.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyStreamImapRequestLineReader.java
(original)
+++
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyStreamImapRequestLineReader.java
Fri Feb 8 08:26:41 2013
@@ -48,9 +48,9 @@ public class NettyStreamImapRequestLineR
* If the end-of-stream is reached.
*/
public char nextChar() throws DecodingException {
+
if (!nextSeen) {
int next = -1;
-
try {
next = in.read();
} catch (IOException e) {
@@ -59,11 +59,12 @@ public class NettyStreamImapRequestLineR
if (next == -1) {
throw new
DecodingException(HumanReadableText.ILLEGAL_ARGUMENTS, "Unexpected end of
stream.");
}
-
nextSeen = true;
nextChar = (char) next;
}
+
return nextChar;
+
}
/**
@@ -89,6 +90,7 @@ public class NettyStreamImapRequestLineR
} else {
return fin;
}
+
}
public void dispose() throws IOException {
Modified:
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServer.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServer.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServer.java
(original)
+++
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServer.java
Fri Feb 8 08:26:41 2013
@@ -43,12 +43,10 @@ public class OioIMAPServer extends IMAPS
/**
* As OIO use one thread per connection we disable the use of the {@link
ExecutionHandler}
- *
*/
@Override
protected ExecutionHandler createExecutionHander() {
return null;
}
-
}
Modified:
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServerFactory.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServerFactory.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServerFactory.java
(original)
+++
james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServerFactory.java
Fri Feb 8 08:26:41 2013
@@ -18,7 +18,7 @@
****************************************************************/
package org.apache.james.imapserver.netty;
-public class OioIMAPServerFactory extends IMAPServerFactory{
+public class OioIMAPServerFactory extends IMAPServerFactory {
@Override
protected IMAPServer createServer() {
Modified:
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java
(original)
+++
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java
Fri Feb 8 08:26:41 2013
@@ -34,7 +34,7 @@ import org.apache.james.protocols.lib.ha
import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader;
import
org.apache.james.protocols.lib.lifecycle.InitializingLifecycleAwareProtocolHandler;
-public class ProtocolHandlerChainImpl implements ProtocolHandlerChain{
+public class ProtocolHandlerChainImpl implements ProtocolHandlerChain {
private ProtocolHandlerLoader loader;
private HierarchicalConfiguration handlerchainConfig;
Modified:
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
(original)
+++
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
Fri Feb 8 08:26:41 2013
@@ -132,7 +132,6 @@ public abstract class AbstractConfigurab
try {
mbeanServer.registerMBean(this, new ObjectName(getMBeanName()));
-
} catch (Exception e) {
throw new RuntimeException("Unable to register mbean", e);
}
@@ -264,6 +263,7 @@ public abstract class AbstractConfigurab
@PostConstruct
public final void init() throws Exception {
+
if (isEnabled()) {
buildSSLContext();
@@ -277,11 +277,14 @@ public abstract class AbstractConfigurab
getLogger().info("Init " + getServiceType() + " done");
}
+
}
@PreDestroy
public final void destroy() {
+
getLogger().info("Dispose " + getServiceType());
+
if (isEnabled()) {
unbind();
postDestroy();
@@ -571,7 +574,6 @@ public abstract class AbstractConfigurab
return executionHandler;
}
-
protected abstract ChannelUpstreamHandler createCoreHandler();
@Override
@@ -606,5 +608,4 @@ public abstract class AbstractConfigurab
};
}
-
}
Modified:
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java
(original)
+++
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java
Fri Feb 8 08:26:41 2013
@@ -31,13 +31,14 @@ import org.jboss.netty.handler.execution
*/
public abstract class AbstractExecutorAwareChannelPipelineFactory extends
AbstractSSLAwareChannelPipelineFactory{
-
public AbstractExecutorAwareChannelPipelineFactory(int timeout, int
maxConnections, int maxConnectsPerIp, ChannelGroup group, ExecutionHandler
eHandler) {
super(timeout, maxConnections, maxConnectsPerIp, group, eHandler);
}
+
public AbstractExecutorAwareChannelPipelineFactory(int timeout, int
maxConnections, int maxConnectsPerIp, ChannelGroup group, String[]
enabledCipherSuites, ExecutionHandler eHandler) {
super(timeout, maxConnections, maxConnectsPerIp, group,
enabledCipherSuites, eHandler);
}
+
@Override
public ChannelPipeline getPipeline() throws Exception {
ChannelPipeline pipeLine = super.getPipeline();
@@ -45,12 +46,12 @@ public abstract class AbstractExecutorAw
return pipeLine;
}
-
/**
- * REturn the {@link ConnectionCountHandler} to use
+ * Return the {@link ConnectionCountHandler} to use
*
* @return cHandler
*/
protected abstract ConnectionCountHandler getConnectionCountHandler();
+
}
Modified:
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java
(original)
+++
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java
Fri Feb 8 08:26:41 2013
@@ -32,7 +32,7 @@ import org.apache.james.protocols.lib.ha
/**
* Abstract base class which use a {@link ProtocolHandlerLoader} for loading
the {@link ProtocolHandler}
*/
-public abstract class AbstractProtocolAsyncServer extends
AbstractConfigurableAsyncServer{
+public abstract class AbstractProtocolAsyncServer extends
AbstractConfigurableAsyncServer {
private ProtocolHandlerChainImpl handlerChain;
Modified:
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java
(original)
+++
james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java
Fri Feb 8 08:26:41 2013
@@ -32,8 +32,6 @@ import org.jboss.netty.handler.execution
/**
* {@link OrderedMemoryAwareThreadPoolExecutor} subclass which expose
statistics via JMX
- *
- *
*/
public class JMXEnabledOrderedMemoryAwareThreadPoolExecutor extends
OrderedMemoryAwareThreadPoolExecutor implements
JMXEnabledOrderedMemoryAwareThreadPoolExecutorMBean{
@@ -50,10 +48,6 @@ public class JMXEnabledOrderedMemoryAwar
this.jmxPath = jmxPath;
registerMBean();
}
-
-
-
-
@Override
protected void beforeExecute(Thread t, Runnable r) {
Modified:
james/server/trunk/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java
(original)
+++
james/server/trunk/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java
Fri Feb 8 08:26:41 2013
@@ -44,8 +44,6 @@ public class MockProtocolHandlerLoader i
private List<Object> loaderRegistry = new ArrayList<Object>();
-
-
protected ProtocolHandler create(String className) throws
InstantiationException, IllegalAccessException, ClassNotFoundException {
return (ProtocolHandler)
Thread.currentThread().getContextClassLoader().loadClass(className).newInstance();
}
@@ -125,4 +123,5 @@ public class MockProtocolHandlerLoader i
public Object getObjectForName(String name) {
return get(name);
}
+
}
Modified:
james/server/trunk/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java
(original)
+++
james/server/trunk/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java
Fri Feb 8 08:26:41 2013
@@ -21,9 +21,7 @@ package org.apache.james.lmtpserver.nett
import java.util.ArrayList;
import java.util.List;
-import javax.annotation.Resource;
import javax.inject.Inject;
-import javax.inject.Named;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.james.filesystem.api.FileSystem;
@@ -38,14 +36,12 @@ public class LMTPServerFactory extends A
private FileSystem fileSystem;
@Inject
- @Resource(name = "protocolhandlerloader")
- public void setProtocolHandlerLoader(@Named("protocolhandlerloader")
ProtocolHandlerLoader loader) {
+ public void setProtocolHandlerLoader(ProtocolHandlerLoader loader) {
this.loader = loader;
}
@Inject
- @Resource(name = "filesystem")
- public final void setFileSystem(@Named("filesystem") FileSystem
filesystem) {
+ public final void setFileSystem(FileSystem filesystem) {
this.fileSystem = filesystem;
}
Modified:
james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
(original)
+++
james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
Fri Feb 8 08:26:41 2013
@@ -18,7 +18,6 @@
****************************************************************/
package org.apache.james.pop3server.netty;
-
import org.apache.james.pop3server.core.CoreCmdHandlerLoader;
import org.apache.james.pop3server.jmx.JMXHandlersLoader;
import org.apache.james.protocols.api.ProtocolConfiguration;
@@ -33,6 +32,7 @@ import org.jboss.netty.channel.ChannelUp
* NIO POP3 Server which use Netty
*/
public class POP3Server extends AbstractProtocolAsyncServer implements
POP3ServerMBean {
+
/**
* The configuration data to be passed to the handler
*/
@@ -91,15 +91,14 @@ public class POP3Server extends Abstract
return coreHandler;
}
-
@Override
protected Class<? extends HandlersPackage> getCoreHandlersPackage() {
return CoreCmdHandlerLoader.class;
}
-
@Override
protected Class<? extends HandlersPackage> getJMXHandlersPackage() {
return JMXHandlersLoader.class;
}
+
}
Modified:
james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java
(original)
+++
james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java
Fri Feb 8 08:26:41 2013
@@ -3,9 +3,7 @@ package org.apache.james.pop3server.nett
import java.util.ArrayList;
import java.util.List;
-import javax.annotation.Resource;
import javax.inject.Inject;
-import javax.inject.Named;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.james.filesystem.api.FileSystem;
@@ -20,14 +18,12 @@ public class POP3ServerFactory extends A
private FileSystem fileSystem;
@Inject
- @Resource(name = "protocolhandlerloader")
- public void setProtocolHandlerLoader(@Named("protocolhandlerloader")
ProtocolHandlerLoader loader) {
+ public void setProtocolHandlerLoader(ProtocolHandlerLoader loader) {
this.loader = loader;
}
@Inject
- @Resource(name = "filesystem")
- public final void setFileSystem(@Named("filesystem") FileSystem
filesystem) {
+ public final void setFileSystem(FileSystem filesystem) {
this.fileSystem = filesystem;
}
@@ -38,6 +34,7 @@ public class POP3ServerFactory extends A
@SuppressWarnings("unchecked")
@Override
protected List<AbstractConfigurableAsyncServer> createServers(Logger log,
HierarchicalConfiguration config) throws Exception{
+
List<AbstractConfigurableAsyncServer> servers = new
ArrayList<AbstractConfigurableAsyncServer>();
List<HierarchicalConfiguration> configs =
config.configurationsAt("pop3server");
@@ -51,7 +48,7 @@ public class POP3ServerFactory extends A
}
return servers;
+
}
-
}
Modified:
james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
(original)
+++
james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
Fri Feb 8 08:26:41 2013
@@ -18,8 +18,6 @@
****************************************************************/
package org.apache.james.smtpserver.netty;
-
-
import javax.inject.Inject;
import org.apache.commons.configuration.ConfigurationException;
@@ -51,7 +49,6 @@ public class SMTPServer extends Abstract
private final static int AUTH_ANNOUNCE = 2;
private int authRequired = AUTH_DISABLED;
-
/**
* Whether the server needs helo to be send first
*/
@@ -89,7 +86,7 @@ public class SMTPServer extends Abstract
private SMTPChannelUpstreamHandler coreHandler;
@Inject
- public void setDNSService(DNSService dns) {
+ public void setDnsService(DNSService dns) {
this.dns = dns;
}
@@ -113,8 +110,7 @@ public class SMTPServer extends Abstract
}
};
- coreHandler = new SMTPChannelUpstreamHandler(transport, getLogger(),
getEncryption());
-
+ coreHandler = new SMTPChannelUpstreamHandler(transport, getLogger(),
getEncryption());
}
@Override
Modified:
james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java
(original)
+++
james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java
Fri Feb 8 08:26:41 2013
@@ -22,9 +22,7 @@ package org.apache.james.smtpserver.nett
import java.util.ArrayList;
import java.util.List;
-import javax.annotation.Resource;
import javax.inject.Inject;
-import javax.inject.Named;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.james.dnsservice.api.DNSService;
@@ -41,20 +39,17 @@ public class SMTPServerFactory extends A
private FileSystem fileSystem;
@Inject
- @Resource(name = "dnsservice")
- public void setDNSService(@Named("dnsservice") DNSService dns) {
+ public void setDnsService(DNSService dns) {
this.dns = dns;
}
@Inject
- @Resource(name = "protocolhandlerloader")
- public void setProtocolHandlerLoader(@Named("protocolhandlerloader")
ProtocolHandlerLoader loader) {
+ public void setProtocolHandlerLoader(ProtocolHandlerLoader loader) {
this.loader = loader;
}
@Inject
- @Resource(name = "filesystem")
- public final void setFileSystem(@Named("filesystem") FileSystem
filesystem) {
+ public final void setFileSystem(FileSystem filesystem) {
this.fileSystem = filesystem;
}
@@ -71,7 +66,7 @@ public class SMTPServerFactory extends A
for (HierarchicalConfiguration serverConfig: configs) {
SMTPServer server = createServer();
- server.setDNSService(dns);
+ server.setDnsService(dns);
server.setProtocolHandlerLoader(loader);
server.setLog(log);
server.setFileSystem(fileSystem);
Modified:
james/server/trunk/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java?rev=1443875&r1=1443874&r2=1443875&view=diff
==============================================================================
---
james/server/trunk/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
(original)
+++
james/server/trunk/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
Fri Feb 8 08:26:41 2013
@@ -178,7 +178,7 @@ public class SMTPServerTest {
// slf4j can't set programmatically any log level. It's just a facade
// log.setLevel(SimpleLog.LOG_LEVEL_ALL);
m_smtpServer = createSMTPServer();
- m_smtpServer.setDNSService(m_dnsServer);
+ m_smtpServer.setDnsService(m_dnsServer);
m_smtpServer.setFileSystem(fileSystem);
m_smtpServer.setProtocolHandlerLoader(chain);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]