Author: norman
Date: Sat Feb 20 19:33:51 2010
New Revision: 912200
URL: http://svn.apache.org/viewvc?rev=912200&view=rev
Log:
More work on POC for camel usage (nearly complete) (JAMES-971)
Modified:
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailProcessorRouteBuilder.java
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailetProcessor.java
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MatcherSplitter.java
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolConsumer.java
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolProducer.java
Modified:
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailProcessorRouteBuilder.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailProcessorRouteBuilder.java?rev=912200&r1=912199&r2=912200&view=diff
==============================================================================
---
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailProcessorRouteBuilder.java
(original)
+++
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailProcessorRouteBuilder.java
Sat Feb 20 19:33:51 2010
@@ -82,7 +82,7 @@
String processorName = processorConf.getString("[...@name]");
// Check which route we need to go
- ChoiceDefinition processorDef =
spoolDef.when(header(MailMessage.STATE).isEqualTo(processorName));
+ ChoiceDefinition processorDef =
spoolDef.when(header(MailMessage.STATE).isEqualTo(processorName)).setHeader("currentProcessor",
constant(processorName));
final List<HierarchicalConfiguration> mailetConfs =
processorConf.configurationsAt("mailet");
// Loop through the mailet configuration, load
@@ -169,10 +169,11 @@
}
+ processorDef.to("spool://spoolRepository");
}
// just use a mock for now
- spoolDef.end().to("mock:end");
+ spoolDef.end();
}
Modified:
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailetProcessor.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailetProcessor.java?rev=912200&r1=912199&r2=912200&view=diff
==============================================================================
---
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailetProcessor.java
(original)
+++
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailetProcessor.java
Sat Feb 20 19:33:51 2010
@@ -22,14 +22,13 @@
* @see org.apache.camel.Processor#process(org.apache.camel.Exchange)
*/
public void process(Exchange exchange) throws Exception {
- //System.out.println("Call mailet " + mailet);
try {
mailet.service((Mail)exchange.getIn().getBody());
} catch (Exception e) {
e.printStackTrace();
throw e;
}
-
+
}
}
Modified:
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MatcherSplitter.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MatcherSplitter.java?rev=912200&r1=912199&r2=912200&view=diff
==============================================================================
---
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MatcherSplitter.java
(original)
+++
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MatcherSplitter.java
Sat Feb 20 19:33:51 2010
@@ -28,6 +28,7 @@
import org.apache.camel.Body;
import org.apache.camel.Header;
+import org.apache.camel.InOnly;
import org.apache.james.core.MailImpl;
import org.apache.mailet.Mail;
import org.apache.mailet.MailAddress;
@@ -39,6 +40,7 @@
*
*
*/
+...@inonly
public class MatcherSplitter {
public final static String MATCHER_MATCHED_HEADER = "matched";
@@ -54,8 +56,8 @@
* @return mailMessageList
* @throws MessagingException
*/
+ @SuppressWarnings("unchecked")
public List<MailMessage> split(@Header(MATCHER_HEADER) Matcher
matcher,@Body Mail mail) throws MessagingException {
- //System.out.println("Call matcher " + matcher);
List<MailMessage> mails = new ArrayList<MailMessage>();
boolean fullMatch = false;
@@ -91,7 +93,7 @@
MailMessage mailMsg = new MailMessage(mail);
if (fullMatch) {
// Set a header because the matcher matched. This can be used
later when processing the route
- mailMsg.setHeader("match", true);
+ mailMsg.setHeader(MATCHER_MATCHED_HEADER, true);
}
mails.add(mailMsg);
Modified:
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolConsumer.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolConsumer.java?rev=912200&r1=912199&r2=912200&view=diff
==============================================================================
---
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolConsumer.java
(original)
+++
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolConsumer.java
Sat Feb 20 19:33:51 2010
@@ -20,6 +20,7 @@
package org.apache.james.transport.camel;
import org.apache.camel.Exchange;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.Processor;
import org.apache.camel.impl.DefaultConsumer;
import org.apache.camel.impl.DefaultEndpoint;
@@ -41,8 +42,7 @@
public Exchange receive() {
- Exchange ex = getEndpoint().createExchange();
-
+ Exchange ex = getEndpoint().createExchange();
Mail mail;
try {
mail = spool.accept();
Modified:
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolProducer.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolProducer.java?rev=912200&r1=912199&r2=912200&view=diff
==============================================================================
---
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolProducer.java
(original)
+++
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolProducer.java
Sat Feb 20 19:33:51 2010
@@ -42,7 +42,12 @@
public void process(Exchange exchange) throws Exception {
Exchange newExchange = getEndpoint().createExchange(exchange);
Mail mail = (Mail) newExchange.getIn().getBody();
- spool.store(mail);
+ try {
+ spool.store(mail);
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw e;
+ }
ExchangeHelper.copyResults(exchange, newExchange);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]