You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2009/02/23 13:03:06 UTC
svn commit: r746974 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/
camel-core/src/main/java/org/apache/camel/impl/
components/camel-jms/src/main/java/org/apache/camel/component/jms/
Author: jstrachan
Date: Mon Feb 23 12:03:03 2009
New Revision: 746974
URL: http://svn.apache.org/viewvc?rev=746974&view=rev
Log:
added fix for CAMEL-1375
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/Message.java
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultMessage.java
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/Message.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/Message.java?rev=746974&r1=746973&r2=746974&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/Message.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/Message.java Mon Feb 23 12:03:03 2009
@@ -187,4 +187,9 @@
* Returns <tt>true</tt> if this message has any attachments.
*/
boolean hasAttachments();
+
+ /**
+ * Returns the unique ID for a message exchange if this message is capable of creating one or null if not
+ */
+ String createExchangeId();
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java?rev=746974&r1=746973&r2=746974&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java Mon Feb 23 12:03:03 2009
@@ -292,7 +292,7 @@
public String getExchangeId() {
if (exchangeId == null) {
- exchangeId = DefaultExchange.DEFAULT_ID_GENERATOR.generateId();
+ exchangeId = createExchangeId();
}
return exchangeId;
}
@@ -356,4 +356,12 @@
}
}
+ protected String createExchangeId() {
+ String answer = in.createExchangeId();
+ if (answer == null) {
+ answer = DefaultExchange.DEFAULT_ID_GENERATOR.generateId();
+ }
+ return answer;
+ }
+
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultMessage.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultMessage.java?rev=746974&r1=746973&r2=746974&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultMessage.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultMessage.java Mon Feb 23 12:03:03 2009
@@ -172,5 +172,8 @@
protected boolean hasPopulatedHeaders() {
return headers != null;
}
-
+
+ public String createExchangeId() {
+ return null;
+ }
}
Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java?rev=746974&r1=746973&r2=746974&view=diff
==============================================================================
--- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java (original)
+++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java Mon Feb 23 12:03:03 2009
@@ -189,4 +189,16 @@
return value != null ? value.toString().replaceAll("[^a-zA-Z0-9\\.\\_\\-]", "_") : "";
}
+ @Override
+ public String createExchangeId() {
+ if (jmsMessage != null) {
+ try {
+ return jmsMessage.getJMSMessageID();
+ } catch (JMSException e) {
+ throw new RuntimeCamelException("Failed to get JMSMessageID property", e);
+ }
+ }
+ return super.createExchangeId();
+
+ }
}