Modified: james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/NioSMTPServer.java URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/NioSMTPServer.java?rev=1021866&r1=1021865&r2=1021866&view=diff ============================================================================== --- james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/NioSMTPServer.java (original) +++ james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/NioSMTPServer.java Tue Oct 12 18:03:19 2010 @@ -18,6 +18,7 @@ ****************************************************************/ package org.apache.james.smtpserver.netty; + import javax.annotation.Resource; import javax.net.ssl.SSLContext; @@ -26,10 +27,12 @@ import org.apache.commons.configuration. import org.apache.james.protocols.api.ProtocolHandlerChain; import org.apache.james.protocols.impl.AbstractSSLAwareChannelPipelineFactory; import org.apache.james.protocols.smtp.SMTPConfiguration; -import org.apache.james.protocols.smtp.SMTPServerMBean; import org.apache.james.services.MailServer; +import org.apache.james.smtpserver.SMTPServerMBean; import org.apache.james.socket.netty.AbstractConfigurableAsyncServer; +import org.apache.james.socket.netty.ConnectionCountHandler; import org.apache.james.util.netmatcher.NetMatcher; +import org.jboss.netty.channel.ChannelPipeline; import org.jboss.netty.channel.ChannelPipelineFactory; import org.jboss.netty.channel.ChannelUpstreamHandler; import org.jboss.netty.channel.group.ChannelGroup; @@ -98,6 +101,9 @@ public class NioSMTPServer extends Abstr private MailServer mailServer; private boolean verifyIdentity; + + private final ConnectionCountHandler countHandler = new ConnectionCountHandler(); + @Resource(name="mailserver") public final void setMailServer(MailServer mailServer) { @@ -194,8 +200,9 @@ public class NioSMTPServer extends Abstr return 25; } - /** - * @see org.apache.james.core.AbstractProtocolServer#getServiceType() + /* + * (non-Javadoc) + * @see org.apache.james.socket.ServerMBean#getServiceType() */ public String getServiceType() { return "SMTP Service"; @@ -308,7 +315,17 @@ public class NioSMTPServer extends Abstr super(timeout, maxConnections, maxConnectsPerIp, group); } + @Override + public ChannelPipeline getPipeline() throws Exception { + ChannelPipeline pipeline = super.getPipeline(); + pipeline.addBefore("coreHandler", "connectionCount", countHandler); + + return pipeline; + } + + + @Override protected SSLContext getSSLContext() { return NioSMTPServer.this.getSSLContext(); } @@ -329,4 +346,49 @@ public class NioSMTPServer extends Abstr } } + + /* + * (non-Javadoc) + * @see org.apache.james.socket.ServerMBean#getCurrentConnections() + */ + public int getCurrentConnections() { + return countHandler.getCurrentConnectionCount(); + } + + + /* + * (non-Javadoc) + * @see org.apache.james.smtpserver.SMTPServerMBean#getMaximalMessageSize() + */ + public long getMaximalMessageSize() { + return maxMessageSize; + } + + + /* + * (non-Javadoc) + * @see org.apache.james.smtpserver.SMTPServerMBean#getAddressBracketsEnforcement() + */ + public boolean getAddressBracketsEnforcement() { + return addressBracketsEnforcement; + } + + + /* + * (non-Javadoc) + * @see org.apache.james.smtpserver.SMTPServerMBean#getHeloEhloEnforcement() + */ + public boolean getHeloEhloEnforcement() { + return heloEhloEnforcement; + } + + + + /* + * (non-Javadoc) + * @see org.apache.james.protocols.smtp.SMTPServerMBean#getNetworkInterface() + */ + public String getNetworkInterface() { + return "unknown"; + } }
Modified: james/server/trunk/spoolmanager/src/main/java/org/apache/james/JamesMailServer.java URL: http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/JamesMailServer.java?rev=1021866&r1=1021865&r2=1021866&view=diff ============================================================================== --- james/server/trunk/spoolmanager/src/main/java/org/apache/james/JamesMailServer.java (original) +++ james/server/trunk/spoolmanager/src/main/java/org/apache/james/JamesMailServer.java Tue Oct 12 18:03:19 2010 @@ -22,7 +22,6 @@ package org.apache.james; import java.net.UnknownHostException; -import java.util.Collection; import java.util.List; import java.util.Locale; @@ -62,10 +61,10 @@ public class JamesMailServer private HierarchicalConfiguration conf = null; /** - * The collection of domain/server names for which this instance of James + * The array of domain/server names for which this instance of James * will receive and process mail. */ - private Collection<String> serverNames; + private String[] serverNames; /** * The number of mails generated. Access needs to be synchronized for @@ -200,7 +199,7 @@ public class JamesMailServer } serverNames = domains.getDomains(); - if (serverNames == null || serverNames.size() == 0) throw new ConfigurationException("No domainnames configured"); + if (serverNames == null || serverNames.length == 0) throw new ConfigurationException("No domainnames configured"); } @@ -299,11 +298,11 @@ public class JamesMailServer */ public String getDefaultDomain() { if (defaultDomain == null) { - List<String> domainList = domains.getDomains(); - if (domainList == null || domainList.isEmpty()) { + String[] domainList = domains.getDomains(); + if (domainList == null || domainList.length < 1) { return conf.getString("defaultDomain", "localhost"); } else { - return (String) domainList.get(0); + return domainList[0]; } } else { return defaultDomain; Modified: james/server/trunk/spring-deployment/src/main/config/james/spring-beans.xml URL: http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/spring-beans.xml?rev=1021866&r1=1021865&r2=1021866&view=diff ============================================================================== --- james/server/trunk/spring-deployment/src/main/config/james/spring-beans.xml (original) +++ james/server/trunk/spring-deployment/src/main/config/james/spring-beans.xml Tue Oct 12 18:03:19 2010 @@ -33,28 +33,25 @@ --> <!-- - <bean id="exporter" class="org.springframework.jmx.export.MBeanExporter" lazy-init="false"> - <property name="autodetect" value="true" /> - <property name="namingStrategy" ref="namingStrategy" /> - </bean> - <bean id="namingStrategy" class="org.springframework.jmx.export.naming.KeyNamingStrategy" > - <property name="mappings" > - <props> - <prop key="fetchmail"> bean:name=fetchmail</prop> - <prop key="smtpserver">bean:name=smtpserver</prop> - <prop key="dnsservice" >bean:name=dnsservice</prop> - <prop key="remotemanager" >bean:name=remotemanager</prop> - <prop key="pop3server" >bean:name=pop3server</prop> - <prop key="virtualusertablemanagement">bean:name=virtualusertablemanagement</prop> - <prop key="spoolmanagement" >bean:name=spoolmanagement</prop> - <prop key="domainlistmanagement" >bean:name=domainlistmanagement</prop> - <prop key="processormanagement" >bean:name=processormanagement</prop> - <prop key="bayesiananalyzermanagement">bean:name=bayesiananalyzermanagement</prop> - <prop key="usermanagement" >bean:name=usermanagement</prop> - <prop key="serverConnector" >bean:name=serverConnector</prop> - </props> - </property> - </bean> + <bean id="exporter" class="org.springframework.jmx.export.MBeanExporter" lazy-init="false"> + <property name="beans"> + <map> + <entry key="org.apache.james:type=server,name=smtpserver" value-ref="smtpserver"/> + <entry key="org.apache.james:type=server,name=lmtpserver" value-ref="lmtpserver"/> + <entry key="org.apache.james:type=server,name=pop3server" value-ref="pop3server"/> + <entry key="org.apache.james:type=server,name=imapserver" value-ref="imapserver"/> + <entry key="org.apache.james:type=server,name=remotemanager" value-ref="remotemanager"/> + <entry key="org.apache.james:type=components,name=domainlist" value-ref="domainlist"/> + <entry key="org.apache.james:type=components,name=dnsservice" value-ref="dnsservice"/> + + </map> + </property> + <property name="assembler"> + <bean class="org.springframework.jmx.export.assembler.InterfaceBasedMBeanInfoAssembler"> + <property name="managedInterfaces" value="org.apache.james.smtpserver.SMTPServerMBean,org.apache.james.socket.ServerMBean,org.apache.james.api.domainlist.DomainListMBean,org.apache.james.api.domainlist.ManageableDomainListMBean,org.apache.james.dnsservice.api.DNSServiceMBean"/> + </bean> + </property> + </bean> <bean id="mbeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean" /> @@ -263,16 +260,16 @@ <bean id="virtualusertable" name="virtualusertablemanagement" class="org.apache.james.impl.vut.JamesVirtualUserTable" /> <!-- The context domainlist implementation --> - <bean id="domainlist" class="org.apache.james.domain.XMLDomainList" /> + <bean id="domainlist" name="domainlistmanagement" class="org.apache.james.domain.XMLDomainList" /> <!-- JPA implementation of the domainlist service --> <!-- - <bean id="domainlist" class="org.apache.james.domain.JPADomainList"/> + <bean id="domainlist" name="domainlistmanagement" class="org.apache.james.domain.JPADomainList"/> --> <!-- JDBC implementation of the domainlist service - deprecated, use the JPADomainList --> <!-- - <bean id="domainlist" class="org.apache.james.domain.JDBCDomainList"/> + <bean id="domainlist" name="domainlistmanagement" class="org.apache.james.domain.JDBCDomainList"/> --> <!-- IMAP server Beans --> @@ -384,8 +381,6 @@ --> - <bean id="domainlistmanagement" class="org.apache.james.management.impl.DomainListManagement" /> - <!-- The Time Scheduler block --> <bean id="scheduler" class="java.util.concurrent.Executors" factory-method="newScheduledThreadPool"> --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org