[jboss-svn-commits] JBL Code SVN: r11635 - in labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb: message/metadata and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu May 3 06:07:34 EDT 2007
Author: kevin.conner at jboss.com
Date: 2007-05-03 06:07:34 -0400 (Thu, 03 May 2007)
New Revision: 11635
Modified:
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/metadata/MetaDataFilter.java
Log:
Add message ID to messages if not set: JBESB-541
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java 2007-05-03 09:41:00 UTC (rev 11634)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java 2007-05-03 10:07:34 UTC (rev 11635)
@@ -22,6 +22,11 @@
package org.jboss.internal.soa.esb.couriers;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.UUID;
+
+import org.jboss.soa.esb.addressing.Call;
import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.addressing.MalformedEPRException;
import org.jboss.soa.esb.addressing.eprs.FileEpr;
@@ -159,11 +164,36 @@
{
if (null == _deliverCourier)
throw new CourierException("No deliverAsync courier");
- message.getHeader().getCall().setTo(_toEPR) ;
+ final Call call = message.getHeader().getCall() ;
+ call.setTo(_toEPR) ;
- message = FilterManager.getInstance().doOutputWork(message);
-
- return _deliverCourier.deliver(message);
+ final boolean setMessageID = call.getMessageID() == null;
+ if (setMessageID)
+ {
+ final String messageID = UUID.randomUUID().toString() ;
+ try
+ {
+ call.setMessageID(new URI(messageID)) ;
+ }
+ catch (final URISyntaxException urise)
+ {
+ throw new MalformedEPRException("Failed to set message ID to " + messageID) ;
+ }
+ }
+
+ try
+ {
+ message = FilterManager.getInstance().doOutputWork(message);
+
+ return _deliverCourier.deliver(message);
+ }
+ finally
+ {
+ if (setMessageID)
+ {
+ call.setMessageID(null) ;
+ }
+ }
}
/**
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/metadata/MetaDataFilter.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/metadata/MetaDataFilter.java 2007-05-03 09:41:00 UTC (rev 11634)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/metadata/MetaDataFilter.java 2007-05-03 10:07:34 UTC (rev 11635)
@@ -69,7 +69,7 @@
ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
Environment.FTP_LOCALDIR, System.getProperty("java.io.tmpdir"));
- name = dir + File.pathSeparator + msg.getHeader().getCall().getMessageID().toString() +
+ name = dir + File.separator + msg.getHeader().getCall().getMessageID().toString() +
((FTPEpr) destination).getPostDirectory();
}
catch (URISyntaxException ex)
@@ -83,7 +83,7 @@
{
type = Environment.Transports.File;
- name = ((FileEpr) destination).getURL() + File.pathSeparator +
+ name = ((FileEpr) destination).getURL() + File.separator +
msg.getHeader().getCall().getMessageID().toString() + ((FileEpr) destination).getPostSuffix();
}
catch (MalformedURLException ex)
More information about the jboss-svn-commits
mailing list