You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by bh...@apache.org on 2007/03/26 18:43:25 UTC
svn commit: r522567 - in /incubator/qpid/branches/M2/java:
broker/src/main/java/org/apache/qpid/server/queue/
broker/src/test/java/org/apache/qpid/server/queue/
management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/
management/eclip...
Author: bhupendrab
Date: Mon Mar 26 09:43:24 2007
New Revision: 522567
URL: http://svn.apache.org/viewvc?view=rev&rev=522567
Log:
QPID-421 displaying AMQMessage properties in user understandable format in Management Console, like Persistent instead of 1.
Modified:
incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java
incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java
incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/ManagedQueue.java
incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/NotificationCheck.java
incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java
incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java
incubator/qpid/branches/M2/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/MBeanUtility.java
incubator/qpid/branches/M2/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/AttributesTabControl.java
Modified: incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java?view=diff&rev=522567&r1=522566&r2=522567
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java Mon Mar 26 09:43:24 2007
@@ -118,7 +118,7 @@
/** max allowed number of messages on a queue. */
@Configured(path = "maximumMessageCount", defaultValue = "0")
- public int _maximumMessageCount;
+ public long _maximumMessageCount;
/** max queue depth for the queue */
@Configured(path = "maximumQueueDepth", defaultValue = "0")
@@ -350,12 +350,12 @@
return _totalMessagesReceived.get();
}
- public int getMaximumMessageCount()
+ public long getMaximumMessageCount()
{
return _maximumMessageCount;
}
- public void setMaximumMessageCount(int value)
+ public void setMaximumMessageCount(long value)
{
_maximumMessageCount = value;
}
Modified: incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java?view=diff&rev=522567&r1=522566&r2=522567
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java Mon Mar 26 09:43:24 2007
@@ -20,6 +20,8 @@
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.util.Date;
+import java.text.SimpleDateFormat;
import javax.management.JMException;
import javax.management.MBeanException;
@@ -44,6 +46,7 @@
import org.apache.qpid.framing.CommonContentHeaderProperties;
import org.apache.qpid.framing.ContentHeaderBody;
import org.apache.qpid.framing.AMQShortString;
+import org.apache.qpid.framing.BasicContentHeaderProperties;
import org.apache.qpid.framing.abstraction.ContentChunk;
import org.apache.qpid.server.management.AMQManagedObject;
import org.apache.qpid.server.management.MBeanConstructor;
@@ -58,8 +61,8 @@
@MBeanDescription("Management Interface for AMQQueue")
public class AMQQueueMBean extends AMQManagedObject implements ManagedQueue, QueueNotificationListener
{
-
private static final Logger _logger = Logger.getLogger(AMQQueueMBean.class);
+ private static final SimpleDateFormat _dateFormat = new SimpleDateFormat("MM-dd-yy HH:mm:ss.SSS z");
/**
* Since the MBean is not associated with a real channel we can safely create our own store context
@@ -197,12 +200,12 @@
return _queue.getReceivedMessageCount();
}
- public Integer getMaximumMessageCount()
+ public Long getMaximumMessageCount()
{
return _queue.getMaximumMessageCount();
}
- public void setMaximumMessageCount(Integer value)
+ public void setMaximumMessageCount(Long value)
{
_queue.setMaximumMessageCount(value);
}
@@ -370,8 +373,7 @@
AMQMessage msg = list.get(i - 1);
ContentHeaderBody headerBody = msg.getContentHeaderBody();
// Create header attributes list
- CommonContentHeaderProperties headerProperties = (CommonContentHeaderProperties) headerBody.properties;
- String[] headerAttributes = headerProperties.toString().split(",");
+ String[] headerAttributes = getMessageHeaderProperties(headerBody);
Object[] itemValues = {msg.getMessageId(), headerAttributes, headerBody.bodySize, msg.isRedelivered()};
CompositeData messageData = new CompositeDataSupport(_messageDataType, _msgAttributeNames, itemValues);
_messageList.put(messageData);
@@ -383,6 +385,35 @@
}
return _messageList;
+ }
+
+ private String[] getMessageHeaderProperties(ContentHeaderBody headerBody)
+ {
+ List<String> list = new ArrayList<String>();
+ BasicContentHeaderProperties headerProperties = (BasicContentHeaderProperties) headerBody.properties;
+ list.add("reply-to = " + headerProperties.getReplyToAsString());
+ list.add("propertyFlags = " + headerProperties.getPropertyFlags());
+ list.add("ApplicationID = " + headerProperties.getAppIdAsString());
+ list.add("ClusterID = " + headerProperties.getClusterIdAsString());
+ list.add("UserId = " + headerProperties.getUserIdAsString());
+ list.add("JMSMessageID = " + headerProperties.getMessageIdAsString());
+ list.add("JMSCorrelationID = " + headerProperties.getCorrelationIdAsString());
+
+ int delMode = headerProperties.getDeliveryMode();
+ list.add("JMSDeliveryMode = " + (delMode == 1 ? "Persistent" : "Non_Persistent"));
+
+ list.add("JMSPriority = " + headerProperties.getPriority());
+ list.add("JMSType = " + headerProperties.getType());
+
+ long longDate = headerProperties.getExpiration();
+ String strDate = (longDate != 0) ? _dateFormat.format(new Date(longDate)) : null;
+ list.add("JMSExpiration = " + strDate);
+
+ longDate = headerProperties.getTimestamp();
+ strDate = (longDate != 0) ? _dateFormat.format(new Date(longDate)) : null;
+ list.add("JMSTimestamp = " + strDate);
+
+ return list.toArray(new String[list.size()]);
}
/**
Modified: incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/ManagedQueue.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/ManagedQueue.java?view=diff&rev=522567&r1=522566&r2=522567
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/ManagedQueue.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/ManagedQueue.java Mon Mar 26 09:43:24 2007
@@ -156,7 +156,7 @@
* @return maximum muber of message allowed to be stored in the queue.
* @throws IOException
*/
- Integer getMaximumMessageCount() throws IOException;
+ Long getMaximumMessageCount() throws IOException;
/**
* Sets the maximum number of messages allowed to be stored in the queue.
@@ -164,7 +164,7 @@
* @throws IOException
*/
@MBeanAttribute(name="MaximumMessageCount", description="Threshold high value for number of undelivered messages in the queue")
- void setMaximumMessageCount(Integer value) throws IOException;
+ void setMaximumMessageCount(Long value) throws IOException;
/**
* This is useful for setting notifications or taking required action if the size of messages
Modified: incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/NotificationCheck.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/NotificationCheck.java?view=diff&rev=522567&r1=522566&r2=522567
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/NotificationCheck.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/queue/NotificationCheck.java Mon Mar 26 09:43:24 2007
@@ -27,7 +27,7 @@
boolean notifyIfNecessary(AMQMessage msg, AMQQueue queue, QueueNotificationListener listener)
{
int msgCount = queue.getMessageCount();
- final int maximumMessageCount = queue.getMaximumMessageCount();
+ final long maximumMessageCount = queue.getMaximumMessageCount();
if (maximumMessageCount!= 0 && msgCount >= maximumMessageCount)
{
listener.notifyClients(this, queue, msgCount + ": Maximum count on queue threshold ("+ maximumMessageCount +") breached.");
Modified: incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java?view=diff&rev=522567&r1=522566&r2=522567
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java Mon Mar 26 09:43:24 2007
@@ -42,7 +42,7 @@
/** This class tests all the alerts an AMQQueue can throw based on threshold values of different parameters */
public class AMQQueueAlertTest extends TestCase
{
- private final static int MAX_MESSAGE_COUNT = 50;
+ private final static long MAX_MESSAGE_COUNT = 50;
private final static long MAX_MESSAGE_AGE = 250; // 0.25 sec
private final static long MAX_MESSAGE_SIZE = 2000; // 2 KB
private final static long MAX_QUEUE_DEPTH = 10000; // 10 KB
@@ -175,7 +175,7 @@
new AMQShortString("consumer_tag"), true, null, false, false);
_queueMBean = (AMQQueueMBean) _queue.getManagedObject();
- _queueMBean.setMaximumMessageCount(9999); // Set a high value, because this is not being tested
+ _queueMBean.setMaximumMessageCount(9999l); // Set a high value, because this is not being tested
_queueMBean.setMaximumQueueDepth(MAX_QUEUE_DEPTH);
// Send messages(no of message to be little more than what can cause a Queue_Depth alert)
@@ -268,9 +268,9 @@
_virtualHost = applicationRegistry.getVirtualHostRegistry().getVirtualHost("test");
}
- private void sendMessages(int messageCount, long size) throws AMQException
+ private void sendMessages(long messageCount, long size) throws AMQException
{
- AMQMessage[] messages = new AMQMessage[messageCount];
+ AMQMessage[] messages = new AMQMessage[(int)messageCount];
for (int i = 0; i < messages.length; i++)
{
messages[i] = message(false, size);
Modified: incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java?view=diff&rev=522567&r1=522566&r2=522567
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java Mon Mar 26 09:43:24 2007
@@ -116,7 +116,7 @@
public void testGeneralProperties()
{
long maxQueueDepth = 1000; // in bytes
- _queueMBean.setMaximumMessageCount(50000);
+ _queueMBean.setMaximumMessageCount(50000l);
_queueMBean.setMaximumMessageSize(2000l);
_queueMBean.setMaximumQueueDepth(maxQueueDepth);
Modified: incubator/qpid/branches/M2/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/MBeanUtility.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/MBeanUtility.java?view=diff&rev=522567&r1=522566&r2=522567
==============================================================================
--- incubator/qpid/branches/M2/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/MBeanUtility.java (original)
+++ incubator/qpid/branches/M2/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/MBeanUtility.java Mon Mar 26 09:43:24 2007
@@ -21,6 +21,7 @@
package org.apache.qpid.management.ui.jmx;
import java.io.IOException;
+import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
@@ -65,6 +66,9 @@
String debug = System.getProperty("debug");
_debug = "true".equalsIgnoreCase(debug) ? true : false;
}
+
+ public static final BigInteger MAX_LONG = BigInteger.valueOf(Long.MAX_VALUE);
+ public static final BigInteger MAX_INT = BigInteger.valueOf(Integer.MAX_VALUE);
/**
* Retrieves the MBeanInfo from MBeanServer and stores in the application registry
* @param mbean managed bean
@@ -333,10 +337,19 @@
Object newValue = value;
if (attribute.getDataType().equals(Long.class.getName()))
{
+ if (MAX_LONG.compareTo(new BigInteger(value)) == -1)
+ {
+ throw new ManagementConsoleException("Entered value is too big for \"" +
+ ViewUtility.getDisplayText(attribute.getName()) + "\"");
+ }
newValue = new Long(Long.parseLong(value));
}
else if (attribute.getDataType().equals(Integer.class.getName()))
{
+ if (MAX_INT.compareTo(new BigInteger(value)) == -1)
+ {
+ throw new ManagementConsoleException("Entered value is too big for " + attribute.getName());
+ }
newValue = new Integer(Integer.parseInt(value));
}
Modified: incubator/qpid/branches/M2/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/AttributesTabControl.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/AttributesTabControl.java?view=diff&rev=522567&r1=522566&r2=522567
==============================================================================
--- incubator/qpid/branches/M2/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/AttributesTabControl.java (original)
+++ incubator/qpid/branches/M2/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/AttributesTabControl.java Mon Mar 26 09:43:24 2007
@@ -488,7 +488,7 @@
GridData layoutData = new GridData(SWT.TRAIL, SWT.TOP, false, false);
label.setLayoutData(layoutData);
Text value = new Text(parent, SWT.BEGINNING | SWT.BORDER |SWT.READ_ONLY);
- value.setText(attribute.getName());
+ value.setText(ViewUtility.getDisplayText(attribute.getName()));
value.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));