Author: norman
Date: Wed Oct 13 18:49:36 2010
New Revision: 1022235
URL: http://svn.apache.org/viewvc?rev=1022235&view=rev
Log:
finish JMX stuff for mailet/matcher/mailetcontainer/mailprocessor
(JAMES-1057)
Added:
james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/MailetManagement.java
- copied, changed from r1022183,
james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/MailetMBeanWrapper.java
james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/ProcessorDetail.java
Removed:
james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/MailetMBeanWrapper.java
Modified:
james/server/trunk/mailetcontainer-api/src/main/java/org/apache/james/mailetcontainer/MatcherManagementMBean.java
james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelMailProcessorList.java
james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/MatcherManagement.java
james/server/trunk/spring-deployment/src/main/config/james/spring-beans.xml
Modified:
james/server/trunk/mailetcontainer-api/src/main/java/org/apache/james/mailetcontainer/MatcherManagementMBean.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-api/src/main/java/org/apache/james/mailetcontainer/MatcherManagementMBean.java?rev=1022235&r1=1022234&r2=1022235&view=diff
==============================================================================
---
james/server/trunk/mailetcontainer-api/src/main/java/org/apache/james/mailetcontainer/MatcherManagementMBean.java
(original)
+++
james/server/trunk/mailetcontainer-api/src/main/java/org/apache/james/mailetcontainer/MatcherManagementMBean.java
Wed Oct 13 18:49:36 2010
@@ -22,7 +22,14 @@ package org.apache.james.mailetcontainer
/**
* management interface for one Matcher instance
*/
-public interface MatcherManagementMBean {
- String getMatcherName();
- String getMatcherCondition();
+public interface MatcherManagementMBean extends MailProcessingMBean{
+
+ public String getMatcherName();
+
+ public String getMatcherCondition();
+
+ public long getMatchedRecipientCount();
+
+ public long getNotMatchedRecipientCount();
+
}
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=1022235&r1=1022234&r2=1022235&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 13 18:49:36 2010
@@ -52,16 +52,15 @@ import org.apache.james.mailetcontainer.
import org.apache.james.mailetcontainer.MailetConfigImpl;
import org.apache.james.mailetcontainer.MailetContainer;
import org.apache.james.mailetcontainer.MailetLoader;
-import org.apache.james.mailetcontainer.MailetMBeanWrapper;
+import org.apache.james.mailetcontainer.MailetManagement;
import org.apache.james.mailetcontainer.MatcherLoader;
import org.apache.james.mailetcontainer.MatcherManagement;
-import org.apache.james.mailetcontainer.ProcessorDetailMBean;
+import org.apache.james.mailetcontainer.ProcessorDetail;
import org.apache.james.mailetcontainer.ProcessorManagementMBean;
import org.apache.mailet.Mail;
import org.apache.mailet.Mailet;
import org.apache.mailet.MailetConfig;
import org.apache.mailet.Matcher;
-import org.apache.mailet.MatcherConfig;
import org.apache.mailet.base.GenericMailet;
import org.apache.mailet.base.MatcherInverter;
@@ -78,8 +77,8 @@ public class CamelMailProcessorList impl
private MailetLoader mailetLoader;
private Log logger;
- private final Map<String,List<MailetMBeanWrapper>> mailets =
new HashMap<String,List<MailetMBeanWrapper>>();
- private final Map<String,List<Matcher>> matchers = new
HashMap<String,List<Matcher>>();
+ private final Map<String,List<MailetManagement>> mailets = new
HashMap<String,List<MailetManagement>>();
+ private final Map<String,List<MatcherManagement>> matchers =
new HashMap<String,List<MatcherManagement>>();
private final Map<String,MailProcessor> processors = new
HashMap<String,MailProcessor>();
private final UseLatestAggregationStrategy aggr = new
UseLatestAggregationStrategy();
@@ -121,9 +120,9 @@ public class CamelMailProcessorList impl
public void dispose() {
boolean debugEnabled = logger.isDebugEnabled();
- Iterator<List<MailetMBeanWrapper>> it =
mailets.values().iterator();
+ Iterator<List<MailetManagement>> it =
mailets.values().iterator();
while (it.hasNext()) {
- List<MailetMBeanWrapper> mList = it.next();
+ List<MailetManagement> mList = it.next();
for (int i = 0; i< mList.size(); i++) {
Mailet m = mList.get(i).getMailet();
if (debugEnabled) {
@@ -134,9 +133,9 @@ public class CamelMailProcessorList impl
}
- Iterator<List<Matcher>> mit = matchers.values().iterator();
+ Iterator<List<MatcherManagement>> mit =
matchers.values().iterator();
while (mit.hasNext()) {
- List<Matcher> mList = mit.next();
+ List<MatcherManagement> mList = mit.next();
for (int i = 0; i< mList.size(); i++) {
Matcher m = mList.get(i);
if (debugEnabled) {
@@ -238,10 +237,11 @@ public class CamelMailProcessorList impl
* @see
org.apache.james.transport.MailProcessor#service(org.apache.mailet.Mail)
*/
public void service(Mail mail) throws MessagingException {
- try {
- producerTemplate.sendBody(getEndpoint(mail.getState()),
mail);
- } catch (CamelExecutionException ex) {
- throw new MessagingException("Unable to process mail " +
mail.getName(),ex);
+ MailProcessor processor = getProcessor(mail.getState());
+ if (processor != null) {
+ processor.service(mail);
+ } else {
+ throw new MessagingException("No processor found for
mail " + mail.getName() + " with state " + mail.getState());
}
}
@@ -276,14 +276,12 @@ public class CamelMailProcessorList impl
}
- private final class ChildMailProcessor implements MailProcessor,
MailetContainer, ProcessorDetailMBean {
- private String processorName;
- private long slowestProcessing = -1;
- private long fastestProcessing = -1;
- private long successCount = 0;
- private long errorCount = 0;
+ private final class ChildProcessor implements MailProcessor,
MailetContainer {
+
- public ChildMailProcessor(String processorName) {
+ private String processorName;
+
+ public ChildProcessor(String processorName) {
this.processorName = processorName;
}
@@ -294,20 +292,9 @@ public class CamelMailProcessorList impl
*/
public void service(Mail mail) throws MessagingException {
try {
- long startProcessing = System.currentTimeMillis();
-
producerTemplate.sendBody(getEndpoint(processorName), mail);
-
- long processTime = System.currentTimeMillis() -
startProcessing;
- if (processTime> slowestProcessing) {
- slowestProcessing = processTime;
- }
- if (fastestProcessing == -1 || fastestProcessing>
processTime) {
- fastestProcessing = processTime;
- }
- successCount++;
+
} catch (CamelExecutionException ex) {
- errorCount++;
throw new MessagingException("Unable to process
mail " + mail.getName(),ex);
}
}
@@ -325,70 +312,8 @@ public class CamelMailProcessorList impl
* @see
org.apache.james.transport.MailetContainer#getMatchers()
*/
public List<Matcher> getMatchers() {
- return matchers.get(processorName);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- *
org.apache.james.mailetcontainer.ProcessorDetailMBean#getHandledMailCount
- * ()
- */
- public long getHandledMailCount() {
- return getSuccessCount() + getErrorCount();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
org.apache.james.mailetcontainer.ProcessorDetailMBean#getName()
- */
- public String getName() {
- return processorName;
- }
-
- /*
- * (non-Javadoc)
- *
- * @seeorg.apache.james.mailetcontainer.ProcessorDetailMBean#
- * getFastestProcessing()
- */
- public long getFastestProcessing() {
- return fastestProcessing;
+ return new ArrayList<Matcher>(matchers.get(processorName));
}
-
- /*
- * (non-Javadoc)
- *
- * @seeorg.apache.james.mailetcontainer.ProcessorDetailMBean#
- * getSlowestProcessing()
- */
- public long getSlowestProcessing() {
- return slowestProcessing;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- *
org.apache.james.mailetcontainer.ProcessorDetailMBean#getErrorCount()
- */
- public long getErrorCount() {
- return errorCount;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- *
org.apache.james.mailetcontainer.ProcessorDetailMBean#getSuccessCount
- * ()
- */
- public long getSuccessCount() {
- return successCount;
- }
-
}
public CamelContext getCamelContext() {
@@ -414,28 +339,30 @@ public class CamelMailProcessorList impl
private void createProcessorMBean(String baseObjectName, String
processorName, MBeanServer mBeanServer) {
String processorMBeanName = baseObjectName + "processor=" +
processorName;
- registerMBean(mBeanServer, processorMBeanName,
(ProcessorDetailMBean) getProcessor(processorName));
+ registerMBean(mBeanServer, processorMBeanName,
getProcessor(processorName));
// add all mailets but the last, because that is a
terminator (see LinearProcessor.closeProcessorLists())
- List<MailetMBeanWrapper> mailets =
this.mailets.get(processorName);
- for (int i = 0; i< mailets.size()-1; i++) {
- MailetMBeanWrapper mailet = mailets.get(i);
+ List<Mailet> mailets = ((MailetContainer)
getProcessor(processorName)).getMailets();
+ for (int i = 0; i< mailets.size(); i++) {
+ MailetManagement mailet = (MailetManagement)
mailets.get(i);
String mailetMBeanName = processorMBeanName +
",subtype=mailet,index=" + (i+1) + ",mailetname=" +
mailet.getMailetName();
registerMBean(mBeanServer, mailetMBeanName, mailet);
}
+
// add all matchers but the last, because that is a
terminator (see LinearProcessor.closeProcessorLists())
List<Matcher> matchers =
((MailetContainer)getProcessor(processorName)).getMatchers();
- for (int i = 0; i< matchers.size()-1; i++) {
- MatcherConfig matcherConfig =
matchers.get(i).getMatcherConfig();
+ for (int i = 0; i< matchers.size(); i++) {
+ MatcherManagement matcher = (MatcherManagement)
matchers.get(i);
+
+ String matcherMBeanName = processorMBeanName +
",subtype=matcher,index=" + (i+1) + ",matchername=" +
matcher.getMatcherName();
- String matcherMBeanName = processorMBeanName +
",subtype=matcher,index=" + (i+1) + ",matchername=" +
matcherConfig.getMatcherName();
- MatcherManagement matcherMBean = new
MatcherManagement(matcherConfig);
- registerMBean(mBeanServer, matcherMBeanName, matcherMBean);
+ registerMBean(mBeanServer, matcherMBeanName, matcher);
}
+
}
@@ -451,7 +378,7 @@ public class CamelMailProcessorList impl
try {
mBeanServer.registerMBean(object, objectName);
} catch (javax.management.JMException e) {
- logger.info("Unable to register mbean", e);
+ logger.error("Unable to register mbean", e);
}
}
@@ -475,8 +402,8 @@ public class CamelMailProcessorList impl
String processorName =
processorConf.getString("[...@name]");
- mailets.put(processorName, new
ArrayList<MailetMBeanWrapper>());
- matchers.put(processorName, new ArrayList<Matcher>());
+ mailets.put(processorName, new
ArrayList<MailetManagement>());
+ matchers.put(processorName, new
ArrayList<MatcherManagement>());
RouteDefinition processorDef =
from(getEndpoint(processorName)).inOnly()
// store the logger in properties
@@ -551,7 +478,8 @@ public class CamelMailProcessorList impl
throw new ConfigurationException("Unable to
init mailet", ex);
}
if (mailet != null&& matcher != null) {
- MailetMBeanWrapper wrappedMailet = new
MailetMBeanWrapper(mailet);
+ MailetManagement wrappedMailet = new
MailetManagement(mailet);
+ MatcherManagement wrappedMatcher = new
MatcherManagement(matcher);
String onMatchException = null;
MailetConfig mailetConfig =
wrappedMailet.getMailetConfig();
@@ -562,7 +490,7 @@ public class CamelMailProcessorList impl
MailetProcessor mailetProccessor = new
MailetProcessor(wrappedMailet, logger);
// Store the matcher to use for splitter in
properties
processorDef
-
.setProperty(MatcherSplitter.MATCHER_PROPERTY,
constant(matcher)).setProperty(MatcherSplitter.ON_MATCH_EXCEPTION_PROPERTY,
constant(onMatchException))
+
.setProperty(MatcherSplitter.MATCHER_PROPERTY,
constant(wrappedMatcher)).setProperty(MatcherSplitter.ON_MATCH_EXCEPTION_PROPERTY,
constant(onMatchException))
// do splitting of the mail based
on the stored matcher
.split().method(MatcherSplitter.class).aggregationStrategy(aggr).parallelProcessing()
@@ -575,7 +503,7 @@ public class CamelMailProcessorList impl
// store mailet and matcher
mailets.get(processorName).add(wrappedMailet);
- matchers.get(processorName).add(matcher);
+
matchers.get(processorName).add(wrappedMatcher);
}
@@ -596,7 +524,7 @@ public class CamelMailProcessorList impl
// route it to the next processor
.otherwise().process(mailProcessor).stop();
- processors.put(processorName, new
ChildMailProcessor(processorName));
+ processors.put(processorName, new
ProcessorDetail(processorName,new ChildProcessor(processorName)));
}
}
Copied:
james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/MailetManagement.java
(from r1022183,
james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/MailetMBeanWrapper.java)
URL:
http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/MailetManagement.java?p2=james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/MailetManagement.java&p1=james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/MailetMBeanWrapper.java&r1=1022183&r2=1022235&rev=1022235&view=diff
==============================================================================
---
james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/MailetMBeanWrapper.java
(original)
+++
james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/MailetManagement.java
Wed Oct 13 18:49:36 2010
@@ -35,7 +35,7 @@ import org.apache.mailet.MailetConfig;
*
*
*/
-public final class MailetMBeanWrapper implements Mailet,
MailetManagementMBean{
+public final class MailetManagement implements Mailet,
MailetManagementMBean{
private final Mailet mailet;
private long errorCount = 0;
@@ -43,7 +43,7 @@ public final class MailetMBeanWrapper im
private long fastestProcessing = -1;
private long slowestProcessing = -1;
- public MailetMBeanWrapper(final Mailet mailet) {
+ public MailetManagement(Mailet mailet) {
this.mailet = mailet;
}
Modified:
james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/MatcherManagement.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/MatcherManagement.java?rev=1022235&r1=1022234&r2=1022235&view=diff
==============================================================================
---
james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/MatcherManagement.java
(original)
+++
james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/MatcherManagement.java
Wed Oct 13 18:49:36 2010
@@ -18,21 +18,162 @@
****************************************************************/
package org.apache.james.mailetcontainer;
-import org.apache.mailet.MatcherConfig;
+import java.util.Collection;
+
+import javax.mail.MessagingException;
-public class MatcherManagement implements MatcherManagementMBean {
- private MatcherConfig matcherConfig;
+import org.apache.mailet.Mail;
+import org.apache.mailet.Matcher;
+import org.apache.mailet.MatcherConfig;
- public MatcherManagement(MatcherConfig matcherConfig) {
- this.matcherConfig = matcherConfig;
+public final class MatcherManagement implements
MatcherManagementMBean, Matcher{
+ private Matcher matcher;
+ private long slowestProcessing = -1;
+ private long fastestProcessing = -1;
+ private long successCount = 0;
+ private long errorCount = 0;
+ private long matched = 0;
+ private long notMatched = 0;
+ public MatcherManagement(Matcher matcher) {
+ this.matcher = matcher;
}
+ /*
+ * (non-Javadoc)
+ * @see
org.apache.james.mailetcontainer.MatcherManagementMBean#getMatcherName()
+ */
public String getMatcherName() {
- return matcherConfig.getMatcherName();
+ return matcher.getMatcherConfig().getMatcherName();
}
+
+ /*
+ * (non-Javadoc)
+ * @see
org.apache.james.mailetcontainer.MatcherManagementMBean#getMatcherCondition()
+ */
public String getMatcherCondition() {
- return matcherConfig.getCondition();
+ return matcher.getMatcherConfig().getCondition();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.apache.james.mailetcontainer.MailProcessingMBean#getErrorCount()
+ */
+ public long getErrorCount() {
+ return errorCount;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.apache.james.mailetcontainer.MailProcessingMBean#getFastestProcessing()
+ */
+ public long getFastestProcessing() {
+ return fastestProcessing;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.apache.james.mailetcontainer.MailProcessingMBean#getHandledMailCount()
+ */
+ public long getHandledMailCount() {
+ return getSuccessCount() + getErrorCount();
+
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.apache.james.mailetcontainer.MailProcessingMBean#getSlowestProcessing()
+ */
+ public long getSlowestProcessing() {
+ return slowestProcessing;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.apache.james.mailetcontainer.MailProcessingMBean#getSuccessCount()
+ */
+ public long getSuccessCount() {
+ return successCount;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.mailet.Matcher#destroy()
+ */
+ public void destroy() {
+ matcher.destroy();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.mailet.Matcher#getMatcherConfig()
+ */
+ public MatcherConfig getMatcherConfig() {
+ return matcher.getMatcherConfig();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.mailet.Matcher#getMatcherInfo()
+ */
+ public String getMatcherInfo() {
+ return matcher.getMatcherInfo();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.apache.mailet.Matcher#init(org.apache.mailet.MatcherConfig)
+ */
+ public void init(MatcherConfig config) throws MessagingException {
+ matcher.init(config);
+ }
+
+ @SuppressWarnings("unchecked")
+ public Collection match(Mail mail) throws MessagingException {
+ try {
+ long startProcessing = System.currentTimeMillis();
+ Collection origRcpts = mail.getRecipients();
+ Collection rcpts = matcher.match(mail);
+
+ long processTime = System.currentTimeMillis() -
startProcessing;
+ if (processTime> slowestProcessing) {
+ slowestProcessing = processTime;
+ }
+ if (fastestProcessing == -1 || fastestProcessing>
processTime) {
+ fastestProcessing = processTime;
+ }
+ successCount++;
+
+ long match = 0;
+ if (rcpts != null) {
+ match = rcpts.size();
+ matched =+ match;
+ }
+
+ if (origRcpts != null) {
+ notMatched =+ origRcpts.size() - match;
+ }
+ return rcpts;
+ } catch (MessagingException ex) {
+ errorCount++;
+ throw ex;
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.apache.james.mailetcontainer.MatcherManagementMBean#getMatchedRecipientCount()
+ */
+ public long getMatchedRecipientCount() {
+ return matched;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.apache.james.mailetcontainer.MatcherManagementMBean#getNotMatchedRecipientCount()
+ */
+ public long getNotMatchedRecipientCount() {
+ return notMatched;
}
}
Added:
james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/ProcessorDetail.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/ProcessorDetail.java?rev=1022235&view=auto
==============================================================================
---
james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/ProcessorDetail.java
(added)
+++
james/server/trunk/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/ProcessorDetail.java
Wed Oct 13 18:49:36 2010
@@ -0,0 +1,156 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.james.mailetcontainer;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.mail.MessagingException;
+
+import org.apache.mailet.Mail;
+import org.apache.mailet.Mailet;
+import org.apache.mailet.Matcher;
+
+/**
+ * Wrapper which helps to expose JMX statistics for {...@link
MailProcessor} and {...@link MailetContainer} implementations
+ *
+ *
+ */
+public class ProcessorDetail implements MailProcessor,
MailetContainer, ProcessorDetailMBean{
+ private String processorName;
+ private long slowestProcessing = -1;
+ private long fastestProcessing = -1;
+ private long successCount = 0;
+ private long errorCount = 0;
+ private MailProcessor processor;
+
+ public ProcessorDetail(String processorName, MailProcessor
processor) {
+ this.processorName = processorName;
+ this.processor = processor;
+ }
+
+
+ /*
+ * (non-Javadoc)
+ * @see
org.apache.james.transport.MailProcessor#service(org.apache.mailet.Mail)
+ */
+ public void service(Mail mail) throws MessagingException {
+ try {
+ long startProcessing = System.currentTimeMillis();
+
+ processor.service(mail);
+
+ long processTime = System.currentTimeMillis() -
startProcessing;
+ if (processTime> slowestProcessing) {
+ slowestProcessing = processTime;
+ }
+ if (fastestProcessing == -1 || fastestProcessing>
processTime) {
+ fastestProcessing = processTime;
+ }
+ successCount++;
+ } catch (MessagingException ex) {
+ errorCount++;
+ throw ex;
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.transport.MailetContainer#getMailets()
+ */
+ public List<Mailet> getMailets() {
+ if (processor instanceof MailetContainer) {
+ return ((MailetContainer) processor).getMailets();
+ }
+ return new ArrayList<Mailet>();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.transport.MailetContainer#getMatchers()
+ */
+ public List<Matcher> getMatchers() {
+ if (processor instanceof MailetContainer) {
+ return ((MailetContainer) processor).getMatchers();
+ }
+ return new ArrayList<Matcher>();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ *
org.apache.james.mailetcontainer.ProcessorDetailMBean#getHandledMailCount
+ * ()
+ */
+ public long getHandledMailCount() {
+ return getSuccessCount() + getErrorCount();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
org.apache.james.mailetcontainer.ProcessorDetailMBean#getName()
+ */
+ public String getName() {
+ return processorName;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.apache.james.mailetcontainer.ProcessorDetailMBean#
+ * getFastestProcessing()
+ */
+ public long getFastestProcessing() {
+ return fastestProcessing;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.apache.james.mailetcontainer.ProcessorDetailMBean#
+ * getSlowestProcessing()
+ */
+ public long getSlowestProcessing() {
+ return slowestProcessing;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ *
org.apache.james.mailetcontainer.ProcessorDetailMBean#getErrorCount()
+ */
+ public long getErrorCount() {
+ return errorCount;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ *
org.apache.james.mailetcontainer.ProcessorDetailMBean#getSuccessCount
+ * ()
+ */
+ public long getSuccessCount() {
+ return successCount;
+ }
+}
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=1022235&r1=1022234&r2=1022235&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 13 18:49:36 2010
@@ -41,14 +41,15 @@
<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"/>
+<entry key="org.apache.james:type=component,name=domainlist"
value-ref="domainlist"/>
+<entry key="org.apache.james:type=component,name=dnsservice"
value-ref="dnsservice"/>
+<entry key="org.apache.james:type=component,name=processor"
value-ref="mailProcessor"/>
</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"/>
+<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,org.apache.james.mailetcontainer.ProcessorManagementMBean"/>
</bean>
</property>
</bean>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org