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