Updated Branches: refs/heads/master ab106515a -> d6251d587
[KARAF-2549] Improve JMS browsing display Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/d6251d58 Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/d6251d58 Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/d6251d58 Branch: refs/heads/master Commit: d6251d587fc05d295e5d1eec2c78268a90ce8f09 Parents: ab10651 Author: Jean-Baptiste Onofré <[email protected]> Authored: Thu Dec 19 15:04:51 2013 +0100 Committer: Jean-Baptiste Onofré <[email protected]> Committed: Thu Dec 19 15:04:51 2013 +0100 ---------------------------------------------------------------------- .../apache/karaf/jms/command/BrowseCommand.java | 8 +---- .../java/org/apache/karaf/jms/JmsMessage.java | 37 ++++++++++++-------- .../apache/karaf/jms/internal/JmsMBeanImpl.java | 2 +- .../karaf/jms/internal/JmsServiceImpl.java | 1 + 4 files changed, 26 insertions(+), 22 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/d6251d58/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java ---------------------------------------------------------------------- diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java index f2d6b13..cadd132 100644 --- a/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java +++ b/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java @@ -42,7 +42,7 @@ public class BrowseCommand extends JmsCommandSupport { @Option(name = "-p", aliases = { "--password" }, description = "Password to connect to the JMS broker", required = false, multiValued = false) String password = "karaf"; - @Option(name = "-v", aliases = { "--verbose" }, description = "Display JMS message headers and properties", required = false, multiValued = false) + @Option(name = "-v", aliases = { "--verbose" }, description = "Display JMS properties", required = false, multiValued = false) boolean verbose = false; public Object doExecute() throws Exception { @@ -61,17 +61,12 @@ public class BrowseCommand extends JmsCommandSupport { table.column("ReplyTo"); table.column("Timestamp"); if (verbose) { - table.column("Headers"); table.column("Properties"); } List<JmsMessage> messages = getJmsService().browse(connectionFactory, queue, selector, username, password); for (JmsMessage message : messages) { if (verbose) { - StringBuilder headers = new StringBuilder(); - for (String header : message.getHeaders().keySet()) { - headers.append(header).append("=").append(message.getHeaders().get(header)).append("\n"); - } StringBuilder properties = new StringBuilder(); for (String property : message.getProperties().keySet()) { properties.append(property).append("=").append(message.getProperties().get(property)).append("\n"); @@ -89,7 +84,6 @@ public class BrowseCommand extends JmsCommandSupport { message.isRedelivered(), message.getReplyTo(), message.getTimestamp(), - headers.toString(), properties.toString()); } else { table.addRow().addContent( http://git-wip-us.apache.org/repos/asf/karaf/blob/d6251d58/jms/core/src/main/java/org/apache/karaf/jms/JmsMessage.java ---------------------------------------------------------------------- diff --git a/jms/core/src/main/java/org/apache/karaf/jms/JmsMessage.java b/jms/core/src/main/java/org/apache/karaf/jms/JmsMessage.java index 065ac51..c159193 100644 --- a/jms/core/src/main/java/org/apache/karaf/jms/JmsMessage.java +++ b/jms/core/src/main/java/org/apache/karaf/jms/JmsMessage.java @@ -18,6 +18,8 @@ package org.apache.karaf.jms; import javax.jms.*; import java.io.UnsupportedEncodingException; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -27,20 +29,19 @@ import java.util.Map; */ public class JmsMessage { - private Map<String, Object> headers = new HashMap<String, Object>(); private Map<String, Object> properties = new HashMap<String, Object>(); private String content; private String charset = "UTF-8"; private String correlationID; - private int deliveryMode; + private String deliveryMode; private String destination; - private long expiration; + private String expiration; private String messageId; private int priority; private boolean redelivered; private String replyTo; - private long timestamp; + private String timestamp; private String type; public JmsMessage(Message message) { @@ -61,12 +62,20 @@ public class JmsMessage { } correlationID = message.getJMSCorrelationID(); - deliveryMode = message.getJMSDeliveryMode(); + if (message.getJMSDeliveryMode() == DeliveryMode.NON_PERSISTENT) { + deliveryMode = "Non Persistent"; + } else { + deliveryMode = "Persistent"; + } Destination destinationDest = message.getJMSDestination(); if (destinationDest != null) { destination = destinationDest.toString(); } - expiration = message.getJMSExpiration(); + if (message.getJMSExpiration() > 0) { + expiration = new Date(message.getJMSExpiration()).toString(); + } else { + expiration = "Never"; + } messageId = message.getJMSMessageID(); priority = message.getJMSPriority(); redelivered = message.getJMSRedelivered(); @@ -74,7 +83,11 @@ public class JmsMessage { if (replyToDest != null) { replyTo = replyToDest.toString(); } - timestamp = message.getJMSTimestamp(); + if (message.getJMSTimestamp() > 0) { + timestamp = new Date(message.getJMSTimestamp()).toString(); + } else { + timestamp = ""; + } type = message.getJMSType(); content = getMessageContent(message); } @@ -97,10 +110,6 @@ public class JmsMessage { return ""; } - public Map<String, Object> getHeaders() { - return headers; - } - public Map<String, Object> getProperties() { return properties; } @@ -117,7 +126,7 @@ public class JmsMessage { return correlationID; } - public int getDeliveryMode() { + public String getDeliveryMode() { return deliveryMode; } @@ -125,7 +134,7 @@ public class JmsMessage { return destination; } - public long getExpiration() { + public String getExpiration() { return expiration; } @@ -145,7 +154,7 @@ public class JmsMessage { return replyTo; } - public long getTimestamp() { + public String getTimestamp() { return timestamp; } http://git-wip-us.apache.org/repos/asf/karaf/blob/d6251d58/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsMBeanImpl.java ---------------------------------------------------------------------- diff --git a/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsMBeanImpl.java b/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsMBeanImpl.java index b682240..51de7e7 100644 --- a/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsMBeanImpl.java +++ b/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsMBeanImpl.java @@ -128,7 +128,7 @@ public class JmsMBeanImpl implements JmsMBean { CompositeType type = new CompositeType("message", "JMS Message", new String[]{ "id", "content", "charset", "type", "correlation", "delivery", "destination", "expiration", "priority", "redelivered", "replyto", "timestamp" }, new String[]{ "Message ID", "Content", "Charset", "Type", "Correlation ID", "Delivery Mode", "Destination", "Expiration Date", "Priority", "Redelivered", "Reply-To", "Timestamp" }, - new OpenType[]{ SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.INTEGER, SimpleType.STRING, SimpleType.LONG, SimpleType.INTEGER, SimpleType.BOOLEAN, SimpleType.STRING, SimpleType.LONG }); + new OpenType[]{ SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.INTEGER, SimpleType.BOOLEAN, SimpleType.STRING, SimpleType.STRING }); TabularType tableType = new TabularType("messages", "JMS Messages", type, new String[]{ "id" }); TabularData table = new TabularDataSupport(tableType); for (JmsMessage message : getJmsService().browse(connectionFactory, queue, selector, username, password)) { http://git-wip-us.apache.org/repos/asf/karaf/blob/d6251d58/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java ---------------------------------------------------------------------- diff --git a/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java b/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java index 5de89a5..b39e31a 100644 --- a/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java +++ b/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java @@ -230,6 +230,7 @@ public class JmsServiceImpl implements JmsService { Enumeration<Message> enumeration = browser.getEnumeration(); while (enumeration.hasMoreElements()) { Message message = enumeration.nextElement(); + messages.add(new JmsMessage(message)); } browser.close();
