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 no...@apache.org on 2010/10/12 20:03:20 UTC
svn commit: r1021866 [2/2] - in /james/server/trunk:
dnsservice-api/src/main/java/org/apache/james/dnsservice/api/
dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/
domain-api/src/main/java/org/apache/james/api/domainlist/ domain-ap...
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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org