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 2011/10/07 16:04:34 UTC

svn commit: r1180044 - in /james/app/trunk/src/main/config/james: META-INF/org/apache/james/spring-server.xml imapserver.xml lmtpserver.xml pop3server.xml smtpserver.xml

Author: norman
Date: Fri Oct  7 14:04:34 2011
New Revision: 1180044

URL: http://svn.apache.org/viewvc?rev=1180044&view=rev
Log:
Introduce an AbstractServerFactory which is used to create the configured AbstractConfigurableAsyncServer subtypes. This allows users to easily start more then one instance of a specific server (for example one for smtp and one for smtps) without the need to worry about spring xml files. See JAMES-1214

Modified:
    james/app/trunk/src/main/config/james/META-INF/org/apache/james/spring-server.xml
    james/app/trunk/src/main/config/james/imapserver.xml
    james/app/trunk/src/main/config/james/lmtpserver.xml
    james/app/trunk/src/main/config/james/pop3server.xml
    james/app/trunk/src/main/config/james/smtpserver.xml

Modified: james/app/trunk/src/main/config/james/META-INF/org/apache/james/spring-server.xml
URL: http://svn.apache.org/viewvc/james/app/trunk/src/main/config/james/META-INF/org/apache/james/spring-server.xml?rev=1180044&r1=1180043&r2=1180044&view=diff
==============================================================================
--- james/app/trunk/src/main/config/james/META-INF/org/apache/james/spring-server.xml (original)
+++ james/app/trunk/src/main/config/james/META-INF/org/apache/james/spring-server.xml Fri Oct  7 14:04:34 2011
@@ -248,23 +248,23 @@
     <!-- 
       SMTP Server
      -->
-    <bean id="smtpserver" class="org.apache.james.smtpserver.netty.SMTPServer"/>
+    <bean id="smtpserver" class="org.apache.james.smtpserver.netty.SMTPServerFactory"/>
 
     <!-- 
       LMTP Server
      -->
-    <bean id="lmtpserver" class="org.apache.james.lmtpserver.netty.LMTPServer"/>
+    <bean id="lmtpserver" class="org.apache.james.lmtpserver.netty.LMTPServerFactory"/>
  
     <!-- 
       POP3 Server
      -->
-    <bean id="pop3server"  class="org.apache.james.pop3server.netty.POP3Server"/>
+    <bean id="pop3server"  class="org.apache.james.pop3server.netty.POP3ServerFactory"/>
 
 
     <!-- 
       IMAP Server
      -->
-    <bean id="imapserver" class="org.apache.james.imapserver.netty.IMAPServer">
+    <bean id="imapserver" class="org.apache.james.imapserver.netty.IMAPServerFactory">
         <property name="imapDecoder" ref="imapDecoder"/>
         <property name="imapEncoder" ref="imapEncoder"/>    
     </bean>
@@ -364,10 +364,6 @@
     <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=component,name=domainlist" value-ref="domainlistmanagement"/>
           <entry key="org.apache.james:type=component,name=dnsservice" value-ref="dnsservice"/>
           <entry key="org.apache.james:type=component,name=recipientrewritetable" value-ref="recipientrewritetablemanagement"/>
@@ -382,7 +378,7 @@
       </property>
       <property name="assembler">
           <bean class="org.springframework.jmx.export.assembler.InterfaceBasedMBeanInfoAssembler">
-            <property name="managedInterfaces" value="org.apache.james.smtpserver.netty.SMTPServerMBean,org.apache.james.pop3server.netty.POP3ServerMBean,org.apache.james.imapserver.netty.IMAPServerMBean,org.apache.james.fetchmail.FetchSchedulerMBean,org.apache.james.domainlist.api.DomainListManagementMBean,org.apache.james.dnsservice.api.DNSServiceMBean,org.apache.james.rrt.api.RecipientRewriteTableManagementMBean,org.apache.james.user.api.UsersRepositoryManagementMBean,org.apache.james.adapter.mailbox.MailboxManagerManagementMBean,org.apache.james.container.spring.mailbox.MailboxCopierManagementMBean,org.apache.james.mailetcontainer.api.jmx.MailSpoolerMBean,org.apache.james.container.spring.lifecycle.LogProviderManagementMBean"/>
+            <property name="managedInterfaces" value="org.apache.james.fetchmail.FetchSchedulerMBean,org.apache.james.domainlist.api.DomainListManagementMBean,org.apache.james.dnsservice.api.DNSServiceMBean,org.apache.james.rrt.api.RecipientRewriteTableManagementMBean,org.apache.james.user.api.UsersRepositoryManagementMBean,org.apache.james.adapter.mailbox.MailboxManagerManagementMBean,org.apache.james.container.spring.mailbox.MailboxCopierManagementMBean,org.apache.james.mailetcontainer.api.jmx.MailSpoolerMBean,org.apache.james.container.spring.lifecycle.LogProviderManagementMBean"/>
           </bean>
       </property>
     </bean>

Modified: james/app/trunk/src/main/config/james/imapserver.xml
URL: http://svn.apache.org/viewvc/james/app/trunk/src/main/config/james/imapserver.xml?rev=1180044&r1=1180043&r2=1180044&view=diff
==============================================================================
--- james/app/trunk/src/main/config/james/imapserver.xml (original)
+++ james/app/trunk/src/main/config/james/imapserver.xml Fri Oct  7 14:04:34 2011
@@ -20,27 +20,34 @@
 
 <!-- See http://james.apache.org/server/3/config.html for usage -->
 
-<imapserver enabled="true">
-  <bind>0.0.0.0:143</bind>
-  <connectionBacklog>200</connectionBacklog>
-  <tls socketTLS="false" startTLS="false">
-  </tls>
+<imapservers>
+  <imapserver enabled="true">
+    <jmxName>imapserver</jmxName>
+    <bind>0.0.0.0:143</bind>
+    <connectionBacklog>200</connectionBacklog>
+    <tls socketTLS="false" startTLS="false">
+      <keystore>file://conf/keystore</keystore>
+      <secret>yoursecret</secret>
+      <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider>
+    </tls>
  
-  <!-- Disallow plain authenticate / login. So any client will need to STARTTLS before try to login -->
-  <!-- or the socket must be using TLS in general -->
-  <plainAuthDisallowed>false</plainAuthDisallowed>
+    <!-- Disallow plain authenticate / login. So any client will need to STARTTLS before try to login -->
+    <!-- or the socket must be using TLS in general -->
+    <plainAuthDisallowed>false</plainAuthDisallowed>
  
-  <!-- COMPRESS extension -->
-  <compress>false</compress>
+    <!-- COMPRESS extension -->
+    <compress>false</compress>
  
-  <!-- Maximal allowed line-length before a BAD response will get returned to the client -->
-  <!-- This should be set with caution as a to high value can make the server a target for DOS! -->
-  <maxLineLength>65536</maxLineLength>
+    <!-- Maximal allowed line-length before a BAD response will get returned to the client -->
+    <!-- This should be set with caution as a to high value can make the server a target for DOS! -->
+    <maxLineLength>65536</maxLineLength>
   
-  <!-- 10MB size limit before we will start to stream to a temporary file -->
-  <inMemorySizeLimit>10485760</inMemorySizeLimit>
-  <handler>
+    <!-- 10MB size limit before we will start to stream to a temporary file -->
+    <inMemorySizeLimit>10485760</inMemorySizeLimit>
+    <handler>
       <connectionLimit> 0 </connectionLimit>
       <connectionLimitPerIP> 0 </connectionLimitPerIP>
-  </handler>
-</imapserver>
+    </handler>
+  </imapserver>
+</imapservers>
+

Modified: james/app/trunk/src/main/config/james/lmtpserver.xml
URL: http://svn.apache.org/viewvc/james/app/trunk/src/main/config/james/lmtpserver.xml?rev=1180044&r1=1180043&r2=1180044&view=diff
==============================================================================
--- james/app/trunk/src/main/config/james/lmtpserver.xml (original)
+++ james/app/trunk/src/main/config/james/lmtpserver.xml Fri Oct  7 14:04:34 2011
@@ -20,14 +20,18 @@
 
 <!-- See http://james.apache.org/server/3/config.html for usage -->
 
-<lmtpserver enabled="false">
-  <bind>127.0.0.1:24</bind>
-  <connectionBacklog>200</connectionBacklog>
-  <connectiontimeout>1200</connectiontimeout>
-  <connectionLimit> 0 </connectionLimit>
-  <connectionLimitPerIP> 0 </connectionLimitPerIP>
-  <maxmessagesize>0</maxmessagesize>
-  <handlerchain enableJmx="true">
+<lmtpservers>
+  <lmtpserver enabled="false">
+    <jmxName>lmtpserver</jmxName>
+    <bind>127.0.0.1:24</bind>
+    <connectionBacklog>200</connectionBacklog>
+    <connectiontimeout>1200</connectiontimeout>
+    <connectionLimit> 0 </connectionLimit>
+    <connectionLimitPerIP> 0 </connectionLimitPerIP>
+    <maxmessagesize>0</maxmessagesize>
+    <handlerchain enableJmx="true">
       <handler class="org.apache.james.lmtpserver.CoreCmdHandlerLoader"/>
-  </handlerchain>
-</lmtpserver>
+    </handlerchain>
+  </lmtpserver>
+</lmtpservers>
+

Modified: james/app/trunk/src/main/config/james/pop3server.xml
URL: http://svn.apache.org/viewvc/james/app/trunk/src/main/config/james/pop3server.xml?rev=1180044&r1=1180043&r2=1180044&view=diff
==============================================================================
--- james/app/trunk/src/main/config/james/pop3server.xml (original)
+++ james/app/trunk/src/main/config/james/pop3server.xml Fri Oct  7 14:04:34 2011
@@ -20,18 +20,21 @@
 
 <!-- See http://james.apache.org/server/3/config.html for usage -->
 
-<pop3server enabled="true">
-  <bind>0.0.0.0:110</bind>
-  <connectionBacklog>200</connectionBacklog>
-  <tls socketTLS="false" startTLS="false">
+<pop3servers>
+  <pop3server enabled="true">
+    <jmxName>pop3server</jmxName>
+    <bind>0.0.0.0:110</bind>
+    <connectionBacklog>200</connectionBacklog>
+    <tls socketTLS="false" startTLS="false">
       <keystore>file://conf/keystore</keystore>
       <secret>yoursecret</secret>
       <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider>
-  </tls>
-  <connectiontimeout>1200</connectiontimeout>
-  <connectionLimit> 0 </connectionLimit>
-  <connectionLimitPerIP> 0 </connectionLimitPerIP>
-  <handlerchain enableJmx="true">
+    </tls>
+    <connectiontimeout>1200</connectiontimeout>
+    <connectionLimit> 0 </connectionLimit>
+    <connectionLimitPerIP> 0 </connectionLimitPerIP>
+    <handlerchain enableJmx="true">
       <handler class="org.apache.james.pop3server.core.CoreCmdHandlerLoader"/>
-  </handlerchain>
-</pop3server>
+    </handlerchain>
+  </pop3server>
+</pop3servers>

Modified: james/app/trunk/src/main/config/james/smtpserver.xml
URL: http://svn.apache.org/viewvc/james/app/trunk/src/main/config/james/smtpserver.xml?rev=1180044&r1=1180043&r2=1180044&view=diff
==============================================================================
--- james/app/trunk/src/main/config/james/smtpserver.xml (original)
+++ james/app/trunk/src/main/config/james/smtpserver.xml Fri Oct  7 14:04:34 2011
@@ -19,21 +19,28 @@
 
 <!-- See http://james.apache.org/server/3/config.html for usage -->
 
-<smtpserver enabled="true">
-  <bind>0.0.0.0:25</bind>
-  <connectionBacklog>200</connectionBacklog>
-  <tls socketTLS="false" startTLS="false">
-  </tls>
-  <connectiontimeout>360</connectiontimeout>
-  <connectionLimit> 0 </connectionLimit>
-  <connectionLimitPerIP> 0 </connectionLimitPerIP>
-  <authorizedAddresses>127.0.0.0/8</authorizedAddresses>
-  <authRequired>true</authRequired>
-  <verifyIdentity>true</verifyIdentity>
-  <maxmessagesize>0</maxmessagesize>
-  <addressBracketsEnforcement>true</addressBracketsEnforcement>
-  <handlerchain enableJmx="true">
-    <handler class="org.apache.james.smtpserver.fastfail.ValidRcptHandler"/>
-    <handler class="org.apache.james.smtpserver.CoreCmdHandlerLoader"/>       
-  </handlerchain>            
-</smtpserver>
+<smtpservers>
+  <smtpserver enabled="true">
+    <jmxName>smtpserver</jmxName>
+    <bind>0.0.0.0:25</bind>
+    <connectionBacklog>200</connectionBacklog>
+    <tls socketTLS="false" startTLS="false">
+      <keystore>file://conf/keystore</keystore>
+      <secret>yoursecret</secret>
+      <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider>
+    </tls>
+    <connectiontimeout>360</connectiontimeout>
+    <connectionLimit> 0 </connectionLimit>
+    <connectionLimitPerIP> 0 </connectionLimitPerIP>
+    <authorizedAddresses>127.0.0.0/8</authorizedAddresses>
+    <authRequired>true</authRequired>
+    <verifyIdentity>true</verifyIdentity>
+    <maxmessagesize>0</maxmessagesize>
+    <addressBracketsEnforcement>true</addressBracketsEnforcement>
+    <handlerchain enableJmx="true">
+      <handler class="org.apache.james.smtpserver.fastfail.ValidRcptHandler"/>
+      <handler class="org.apache.james.smtpserver.CoreCmdHandlerLoader"/>       
+    </handlerchain>            
+  </smtpserver>
+</smtpservers>
+



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org