[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