[jboss-svn-commits] JBL Code SVN: r15170 - in labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb: client and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Sep 17 07:29:54 EDT 2007


Author: mark.little at jboss.com
Date: 2007-09-17 07:29:53 -0400 (Mon, 17 Sep 2007)
New Revision: 15170

Modified:
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/ContentBasedWiretap.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/client/MessageMulticaster.java
Log:
http://jira.jboss.com/jira/browse/JBESB-987

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/ContentBasedWiretap.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/ContentBasedWiretap.java	2007-09-17 11:27:55 UTC (rev 15169)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/ContentBasedWiretap.java	2007-09-17 11:29:53 UTC (rev 15170)
@@ -81,7 +81,9 @@
 
     public void initialise() {
         if (messageMulticaster.getRecipientCount() == 0) {
-            _logger.warn("Missing or empty destination list - This action class won't have any effect");
+            // some classes don't need to worry about this anyway.
+            
+            _logger.debug("Missing or empty destination list - This action class won't have any effect");
         }
     }
 

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/client/MessageMulticaster.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/client/MessageMulticaster.java	2007-09-17 11:27:55 UTC (rev 15169)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/client/MessageMulticaster.java	2007-09-17 11:29:53 UTC (rev 15170)
@@ -102,34 +102,39 @@
      * @throws MessageDeliverException Failed to deliver message to endpoint.
      */
     public void sendToSubset(Message message, List<Service> recipients) throws RegistryException, MessageDeliverException {
-        String uuId = UUID.randomUUID().toString();
-        ArrayList<String> aggregatorTags = new ArrayList<String>();
-        int recipientCount = recipients.size();
-        long timestamp = System.currentTimeMillis();
-
-        for(int i = 0; i < recipientCount; i++) {
-            Service recipient = recipients.get(i);
-            ServiceInvoker invoker = getInvoker(recipient);
-            String tag = uuId + ":" + (i + 1) + ":" + recipientCount + ":" + timestamp;
-
-            aggregatorTags.add(tag);
-            message.getProperties().setProperty(Aggregator.AGGEGRATOR_TAG, aggregatorTags);
-            if (logger.isDebugEnabled()) {
-                logger.debug(Aggregator. AGGEGRATOR_TAG + "=" + tag);
-            }
-
-            if(invoker == null) {
-                logger.error("Service '" + recipient + "' is not in recipient list.  Delivering message to Dead Letter Channel.");
-                ServiceInvoker.deliverToDeadLetterService(message);
-            } else {
-                try {
-                    invoker.deliverAsync(message);
-                } catch(MessageDeliverException e) {
-                    logger.error("Failed to deliver message to Service '" + recipient + "'.  Delivering message to Dead Letter Channel.");
+	if (recipients.isEmpty())
+	    logger.warn("MessageMulticaster.sendToSubset: empty recipients list!");
+	else
+	{
+            String uuId = UUID.randomUUID().toString();
+            ArrayList<String> aggregatorTags = new ArrayList<String>();
+            int recipientCount = recipients.size();
+            long timestamp = System.currentTimeMillis();
+    
+            for(int i = 0; i < recipientCount; i++) {
+                Service recipient = recipients.get(i);
+                ServiceInvoker invoker = getInvoker(recipient);
+                String tag = uuId + ":" + (i + 1) + ":" + recipientCount + ":" + timestamp;
+    
+                aggregatorTags.add(tag);
+                message.getProperties().setProperty(Aggregator.AGGEGRATOR_TAG, aggregatorTags);
+                if (logger.isDebugEnabled()) {
+                    logger.debug(Aggregator. AGGEGRATOR_TAG + "=" + tag);
+                }
+    
+                if(invoker == null) {
+                    logger.error("Service '" + recipient + "' is not in recipient list.  Delivering message to Dead Letter Channel.");
                     ServiceInvoker.deliverToDeadLetterService(message);
+                } else {
+                    try {
+                        invoker.deliverAsync(message);
+                    } catch(MessageDeliverException e) {
+                        logger.error("Failed to deliver message to Service '" + recipient + "'.  Delivering message to Dead Letter Channel.");
+                        ServiceInvoker.deliverToDeadLetterService(message);
+                    }
                 }
             }
-        }
+	}
     }
 
     private org.jboss.soa.esb.client.ServiceInvoker getInvoker(Service recipient) throws RegistryException, MessageDeliverException {




More information about the jboss-svn-commits mailing list