You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2013/09/18 11:20:46 UTC
[2/6] git commit: CAMEL-6764: camel-jms - Add workaround for AMQ to
get JMSXUserID
CAMEL-6764: camel-jms - Add workaround for AMQ to get JMSXUserID
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/f1004156
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/f1004156
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/f1004156
Branch: refs/heads/master
Commit: f100415661be5b90e67de18076fcb1678ed9fa4b
Parents: cc99d3e
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Sep 18 11:19:16 2013 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Sep 18 11:19:16 2013 +0200
----------------------------------------------------------------------
.../apache/camel/component/jms/JmsBinding.java | 3 ++-
.../camel/component/jms/JmsMessageHelper.java | 18 +++++++++++++++++-
2 files changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/f1004156/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
----------------------------------------------------------------------
diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
index b34479e..9cb393a 100644
--- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
+++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
@@ -170,6 +170,7 @@ public class JmsBinding {
// this works around a bug in the ActiveMQ property handling
map.put("JMSXGroupID", jmsMessage.getStringProperty("JMSXGroupID"));
+ map.put("JMSXUserID", jmsMessage.getStringProperty("JMSXUserID"));
} catch (JMSException e) {
throw new RuntimeCamelException(e);
}
@@ -183,7 +184,7 @@ public class JmsBinding {
while (names.hasMoreElements()) {
String name = names.nextElement().toString();
try {
- Object value = jmsMessage.getObjectProperty(name);
+ Object value = JmsMessageHelper.getProperty(jmsMessage, name);
if (headerFilterStrategy != null
&& headerFilterStrategy.applyFilterToExternalHeaders(name, value, exchange)) {
continue;
http://git-wip-us.apache.org/repos/asf/camel/blob/f1004156/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessageHelper.java
----------------------------------------------------------------------
diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessageHelper.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessageHelper.java
index 89c60dc..8b8f15b 100644
--- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessageHelper.java
+++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessageHelper.java
@@ -70,7 +70,7 @@ public final class JmsMessageHelper {
if (name.equals(key)) {
answer = key;
} else {
- map.put(key, jmsMessage.getObjectProperty(key));
+ map.put(key, getProperty(jmsMessage, key));
}
}
@@ -103,6 +103,22 @@ public final class JmsMessageHelper {
}
/**
+ * Gets a JMS property
+ *
+ * @param jmsMessage the JMS message
+ * @param name name of the property to get
+ * @return the property value, or <tt>null</tt> if does not exists
+ * @throws JMSException can be thrown
+ */
+ public static Object getProperty(Message jmsMessage, String name) throws JMSException {
+ Object value = jmsMessage.getObjectProperty(name);
+ if (value == null) {
+ value = jmsMessage.getStringProperty(name);
+ }
+ return value;
+ }
+
+ /**
* Sets the property on the given JMS message.
*
* @param jmsMessage the JMS message