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/03/01 15:24:42 UTC

svn commit: r917544 - in /james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel: MailProcessorRouteBuilder.java MailRouter.java RoutingSlipHeaderProcessor.java

Author: norman
Date: Mon Mar  1 14:24:42 2010
New Revision: 917544

URL: http://svn.apache.org/viewvc?rev=917544&view=rev
Log:
Use RecipientList for choosing the activemq queue

Removed:
    james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/RoutingSlipHeaderProcessor.java
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/MailRouter.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=917544&r1=917543&r2=917544&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 Mon Mar  1 14:24:42 2010
@@ -214,9 +214,8 @@
                             .when(new MailStateEquals(Mail.GHOST)).stop()
                              
                             // check if the state of the mail is the same as the
-                            // current processor. If not just route it to the right endpoint via routingSlip.
-                            // we use the routingSlip because @RecipientList not work as aspected. See https://issues.apache.org/activemq/browse/CAMEL-2507
-                            .when(new MailStateNotEquals(processorName)).process(new RoutingSlipHeaderProcessor()).routingSlip(RoutingSlipHeaderProcessor.ROUTESLIP_HEADER).stop()
+                            // current processor. If not just route it to the right endpoint via recipientList.
+                            .when(new MailStateNotEquals(processorName)).recipientList().method(MailRouter.class)
                             
                             // end first choice
                             .end()
@@ -249,9 +248,9 @@
                     // end the choice
                     .end()
                     
-                    // route it to the right processor
-                    // we use the routingSlip because @RecipientList not work as aspected. See https://issues.apache.org/activemq/browse/CAMEL-2507
-                    .process(new RoutingSlipHeaderProcessor()).routingSlip(RoutingSlipHeaderProcessor.ROUTESLIP_HEADER).stop();
+                     // route it to the right processor
+                    .recipientList().method(MailRouter.class);
+                  
         }
     }
 

Modified: james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailRouter.java
URL: http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailRouter.java?rev=917544&r1=917543&r2=917544&view=diff
==============================================================================
--- james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailRouter.java (original)
+++ james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailRouter.java Mon Mar  1 14:24:42 2010
@@ -19,20 +19,22 @@
 package org.apache.james.transport.camel;
 
 import org.apache.camel.Body;
-import org.apache.camel.RecipientList;
 import org.apache.mailet.Mail;
 
 /**
  * Route the mail to the right JMS queue depending on the state of the Mail. 
  * 
- * This is not used atm because of this bug:
- * https://issues.apache.org/activemq/browse/CAMEL-2507
  * 
  *
  */
 public class MailRouter {
     
-    @RecipientList
+    /**
+     * Route Mail to the right JMS queue based on the state of the mail
+     * 
+     * @param mail
+     * @return camel endpoint uri
+     */
     public String to(@Body Mail mail) {
         String queueName = "activemq:queue:processor."+ mail.getState();
         return queueName;



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