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/20 12:59:30 UTC

svn commit: r1025495 - in /james/server/trunk: mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/ mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/ spring-deployment/src/main/config/james/

Author: norman
Date: Wed Oct 20 10:59:30 2010
New Revision: 1025495

URL: http://svn.apache.org/viewvc?rev=1025495&view=rev
Log:
Merge mailetpackages.xml and matcherpackages.xml to mailetcontainer.xml (JAMES-1072)

Removed:
    james/server/trunk/spring-deployment/src/main/config/james/mailetpackages.xml
    james/server/trunk/spring-deployment/src/main/config/james/matcherpackages.xml
Modified:
    james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelMailProcessorList.java
    james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/JamesMailetLoader.java
    james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/JamesMatcherLoader.java
    james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/ProcessorManagement.java
    james/server/trunk/spring-deployment/src/main/config/james/mailetcontainer.xml
    james/server/trunk/spring-deployment/src/main/config/james/spring-beans.xml

Modified: james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelMailProcessorList.java
URL: http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelMailProcessorList.java?rev=1025495&r1=1025494&r2=1025495&view=diff
==============================================================================
--- james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelMailProcessorList.java (original)
+++ james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelMailProcessorList.java Wed Oct 20 10:59:30 2010
@@ -79,12 +79,12 @@ public class CamelMailProcessorList impl
     private final Map<String,MailProcessor> processors = new HashMap<String,MailProcessor>();
     private final UseLatestAggregationStrategy aggr = new UseLatestAggregationStrategy();
        
-    @Resource(name = "matcherpackages")
+    @Resource(name = "matcherloader")
     public void setMatcherLoader(MatcherLoader matcherLoader) {
         this.matcherLoader = matcherLoader;
     }
 
-    @Resource(name = "mailetpackages")
+    @Resource(name = "mailetloader")
     public void setMailetLoader(MailetLoader mailetLoader) {
         this.mailetLoader = mailetLoader;
     }

Modified: james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/JamesMailetLoader.java
URL: http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/JamesMailetLoader.java?rev=1025495&r1=1025494&r2=1025495&view=diff
==============================================================================
--- james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/JamesMailetLoader.java (original)
+++ james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/JamesMailetLoader.java Wed Oct 20 10:59:30 2010
@@ -42,7 +42,7 @@ public class JamesMailetLoader extends A
      * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
      */
     public void configure(HierarchicalConfiguration conf) throws ConfigurationException {
-        getPackages(conf,MAILET_PACKAGE);
+        getPackages(conf.configurationAt("mailetpackages"),MAILET_PACKAGE);
     }
 
     /**

Modified: james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/JamesMatcherLoader.java
URL: http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/JamesMatcherLoader.java?rev=1025495&r1=1025494&r2=1025495&view=diff
==============================================================================
--- james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/JamesMatcherLoader.java (original)
+++ james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/JamesMatcherLoader.java Wed Oct 20 10:59:30 2010
@@ -40,7 +40,7 @@ public class JamesMatcherLoader extends 
      * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
      */
     public void configure(HierarchicalConfiguration conf) throws ConfigurationException {
-           getPackages(conf,MATCHER_PACKAGE);
+           getPackages(conf.configurationAt("matcherpackages"),MATCHER_PACKAGE);
     }
 
     /**

Modified: james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/ProcessorManagement.java
URL: http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/ProcessorManagement.java?rev=1025495&r1=1025494&r2=1025495&view=diff
==============================================================================
--- james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/ProcessorManagement.java (original)
+++ james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/ProcessorManagement.java Wed Oct 20 10:59:30 2010
@@ -18,9 +18,12 @@
  ****************************************************************/
 package org.apache.james.mailetcontainer;
 
+import java.lang.management.ManagementFactory;
+import java.util.ArrayList;
 import java.util.List;
 
 import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
 import javax.annotation.Resource;
 import javax.management.MBeanServer;
 import javax.management.MalformedObjectNameException;
@@ -41,25 +44,42 @@ public class ProcessorManagement impleme
     private MailProcessorList mailProcessor;
     private MBeanServer mbeanserver;
     private Log logger;
-
+    private List<ObjectName> mbeans = new ArrayList<ObjectName>();
+    
     @Resource(name="mailProcessor")
     public void setMailProcessorList(MailProcessorList mailProcessor) {
         this.mailProcessor = mailProcessor;
     }
     
-
-    @Resource(name = "mbeanserver")
-    public void setMbeanServer(MBeanServer mbeanServer) {
-        this.mbeanserver = mbeanServer;
-    }
    
     @PostConstruct
     public void init() throws Exception {
+        mbeanserver = ManagementFactory.getPlatformMBeanServer();
+        
         registerMBeans();
-
     }
     
+    @PreDestroy
+    public void destory() {
+        unregisterMBeans();
+    }
     
+    private void unregisterMBeans() {
+        List<ObjectName> unregistered = new ArrayList<ObjectName>();
+        for (int i = 0; i < mbeans.size(); i++) {
+            ObjectName name = mbeans.get(i);
+            
+            try {
+                mbeanserver.unregisterMBean(name);
+                unregistered.add(name);
+            } catch (javax.management.JMException e) {
+                logger.error("Unable to unregister mbean " + name, e);
+            }
+        }
+        mbeans.removeAll(unregistered);
+    }
+
+
     private void registerMBeans() {
        
         String baseObjectName = "org.apache.james:type=component,name=processor,";
@@ -143,6 +163,7 @@ public class ProcessorManagement impleme
         }
         try {
             mBeanServer.registerMBean(object, objectName);
+            mbeans.add(objectName);
         } catch (javax.management.JMException e) {
             logger.error("Unable to register mbean", e);
         }

Modified: james/server/trunk/spring-deployment/src/main/config/james/mailetcontainer.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/mailetcontainer.xml?rev=1025495&r1=1025494&r2=1025495&view=diff
==============================================================================
--- james/server/trunk/spring-deployment/src/main/config/james/mailetcontainer.xml (original)
+++ james/server/trunk/spring-deployment/src/main/config/james/mailetcontainer.xml Wed Oct 20 10:59:30 2010
@@ -17,13 +17,27 @@
   specific language governing permissions and limitations      
   under the License.                                           
  --> 
- <!-- The James Spool Manager block  -->
-   <!-- -->
-   <!-- This block is responsible for processing messages on the spool. -->
-   <mailetcontainer>
+<!-- This block is responsible for processing messages on the spool. -->
+ <mailetcontainer>
       <!-- Number of spool threads -->
       <threads> 20 </threads>
 
+      <!-- Set the Java packages from which to load mailets -->
+      <mailetpackages>
+        <mailetpackage>org.apache.james.transport.mailets</mailetpackage>
+        <!-- Cryptography Mailets -->
+        <mailetpackage>org.apache.james.mailet.crypto.mailet</mailetpackage>
+        <!-- Sieve Mail Scripting -->
+        <mailetpackage>org.apache.james.imapserver.sieve</mailetpackage>      
+      </mailetpackages>
+
+      <!-- Set the Java packages from which to load matchers -->
+      <matcherpackages>
+        <matcherpackage>org.apache.james.transport.matchers</matcherpackage>
+        <!-- Crytographic matchers -->
+        <matcherpackage>org.apache.james.mailet.crypto.matchers</matcherpackage>
+      </matcherpackages>
+      
       <!-- The root processor is a required processor - James routes all mail on the spool -->
       <!-- through this processor first. -->
       <!-- -->

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=1025495&r1=1025494&r2=1025495&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 Wed Oct 20 10:59:30 2010
@@ -92,6 +92,8 @@
                 <entry key="remoteProtocolHandlerChain" value="remotemanager"/>
                 <entry key="mailProcessor" value="mailetcontainer"/>
                 <entry key="spoolmanager" value="mailetcontainer"/>
+                <entry key="mailetloader" value="mailetcontainer"/>
+                <entry key="matcherloader" value="mailetcontainer"/>
              </map>
         </property>
     </bean>
@@ -119,6 +121,8 @@
                 <entry key="remoteProtocolHandlerChain" value="remoteManager"/>
                 <entry key="mailProcessor" value="mailetcontainer"/>
                 <entry key="spoolmanager" value="mailetcontainer"/>
+                <entry key="mailetloader" value="mailetcontainer"/>
+                <entry key="matcherloader" value="mailetcontainer"/>
             </map>
         </property>
     </bean>
@@ -184,9 +188,9 @@
 
     <bean id="mailetcontext" class="org.apache.james.mailetcontainer.JamesMailetContext"/>
 
-    <bean id="matcherpackages" class="org.apache.james.mailetcontainer.JamesMatcherLoader" />
+    <bean id="matcherloader" class="org.apache.james.mailetcontainer.JamesMatcherLoader" />
 
-    <bean id="mailetpackages" class="org.apache.james.mailetcontainer.JamesMailetLoader" />
+    <bean id="mailetloader" class="org.apache.james.mailetcontainer.JamesMailetLoader" />
 
     <bean id="dnsservice" class="org.apache.james.dnsservice.dnsjava.DNSJavaService" />
 



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