summaryrefslogtreecommitdiff
path: root/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java')
-rw-r--r--trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java407
1 files changed, 0 insertions, 407 deletions
diff --git a/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java b/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java
deleted file mode 100644
index 7838400cd1..0000000000
--- a/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java
+++ /dev/null
@@ -1,407 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.common.mbeans;
-
-import java.io.IOException;
-
-import javax.management.JMException;
-import javax.management.MBeanOperationInfo;
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.TabularData;
-
-import org.apache.qpid.management.common.mbeans.annotations.MBeanAttribute;
-import org.apache.qpid.management.common.mbeans.annotations.MBeanOperation;
-import org.apache.qpid.management.common.mbeans.annotations.MBeanOperationParameter;
-
-/**
- * The management interface exposed to allow management of a queue.
- * @author Robert J. Greig
- * @author Bhupendra Bhardwaj
- * @version 0.1
- */
-public interface ManagedQueue
-{
- static final String TYPE = "Queue";
- static final int VERSION = 3;
-
- //TabularType and contained CompositeType key/description information for message list
- //For compatibility reasons, DONT MODIFY the existing key values if expanding the set.
- //"Queue Position" added in Qpid JMX API 1.3
- String[] VIEW_MSGS_COMPOSITE_ITEM_NAMES = {"AMQ MessageId", "Header", "Size(bytes)", "Redelivered", "Queue Position"};
- String[] VIEW_MSGS_COMPOSITE_ITEM_DESCRIPTIONS = {"AMQ MessageId", "Header", "Size(bytes)", "Redelivered", "Queue Position"};
- String[] VIEW_MSGS_TABULAR_UNIQUE_INDEX = {VIEW_MSGS_COMPOSITE_ITEM_NAMES[0]};
-
- //CompositeType key/description information for message content
- //For compatibility reasons, DONT MODIFY the existing key values if expanding the set.
- String[] VIEW_MSG_CONTENT_COMPOSITE_ITEM_NAMES = { "AMQ MessageId", "MimeType", "Encoding", "Content" };
- String[] VIEW_MSG_CONTENT_COMPOSITE_ITEM_DESCRIPTIONS = { "AMQ MessageId", "MimeType", "Encoding", "Content" };
-
- //Individual attribute name constants
- String ATTR_NAME = "Name";
- String ATTR_OWNER = "Owner";
- String ATTR_MAX_MSG_AGE = "MaximumMessageAge";
- String ATTR_MAX_MSG_COUNT = "MaximumMessageCount";
- String ATTR_MAX_QUEUE_DEPTH = "MaximumQueueDepth";
- String ATTR_MAX_MSG_SIZE = "MaximumMessageSize";
- String ATTR_DURABLE = "Durable";
- String ATTR_AUTODELETE = "AutoDelete";
- String ATTR_CONSUMER_COUNT = "ConsumerCount";
- String ATTR_ACTIVE_CONSUMER_COUNT = "ActiveConsumerCount";
- String ATTR_MSG_COUNT = "MessageCount";
- String ATTR_QUEUE_DEPTH = "QueueDepth";
- String ATTR_RCVD_MSG_COUNT = "ReceivedMessageCount";
- String ATTR_CAPACITY = "Capacity";
- String ATTR_FLOW_OVERFULL = "FlowOverfull";
- String ATTR_FLOW_RESUME_CAPACITY = "FlowResumeCapacity";
-
- //All attribute names constant
- String[] QUEUE_ATTRIBUTES = new String[]{
- ATTR_NAME,
- ATTR_OWNER,
- ATTR_MAX_MSG_AGE,
- ATTR_MAX_MSG_COUNT,
- ATTR_MAX_QUEUE_DEPTH,
- ATTR_MAX_MSG_SIZE,
- ATTR_DURABLE,
- ATTR_AUTODELETE,
- ATTR_CONSUMER_COUNT,
- ATTR_ACTIVE_CONSUMER_COUNT,
- ATTR_MSG_COUNT,
- ATTR_QUEUE_DEPTH,
- ATTR_RCVD_MSG_COUNT,
- ATTR_CAPACITY,
- ATTR_FLOW_OVERFULL,
- ATTR_FLOW_RESUME_CAPACITY
- };
-
- /**
- * Returns the Name of the ManagedQueue.
- * @return the name of the managedQueue.
- * @throws IOException
- */
- @MBeanAttribute(name="Name", description = TYPE + " Name")
- String getName() throws IOException;
-
- /**
- * Total number of messages on the queue, which are yet to be delivered to the consumer(s).
- * @return number of undelivered message in the Queue.
- * @throws IOException
- */
- @MBeanAttribute(name="MessageCount", description = "Total number of undelivered messages on the queue")
- Integer getMessageCount() throws IOException;
-
- /**
- * Tells the total number of messages receieved by the queue since startup.
- * @return total number of messages received.
- * @throws IOException
- */
- @MBeanAttribute(name="ReceivedMessageCount", description="The total number of messages receieved by the queue since startup")
- Long getReceivedMessageCount() throws IOException;
-
- /**
- * Size of messages in the queue
- *
- * Since Qpid JMX API 1.2 this operation returns in units of bytes. Prior to this, the result was in units of kilobytes.
- * @return
- * @throws IOException
- */
- @MBeanAttribute(name="QueueDepth", description="The total size(Bytes) of messages in the queue")
- Long getQueueDepth() throws IOException, JMException;
-
- /**
- * Returns the total number of active subscribers to the queue.
- * @return the number of active subscribers
- * @throws IOException
- */
- @MBeanAttribute(name="ActiveConsumerCount", description="The total number of active subscribers to the queue")
- Integer getActiveConsumerCount() throws IOException;
-
- /**
- * Returns the total number of subscribers to the queue.
- * @return the number of subscribers.
- * @throws IOException
- */
- @MBeanAttribute(name="ConsumerCount", description="The total number of subscribers to the queue")
- Integer getConsumerCount() throws IOException;
-
- /**
- * Tells the Owner of the ManagedQueue.
- * @return the owner's name.
- * @throws IOException
- */
- @MBeanAttribute(name="Owner", description = "Owner")
- String getOwner() throws IOException;
-
- /**
- * Tells whether this ManagedQueue is durable or not.
- * @return true if this ManagedQueue is a durable queue.
- * @throws IOException
- */
- @MBeanAttribute(name="Durable", description = "true if the AMQQueue is durable")
- boolean isDurable() throws IOException;
-
- /**
- * Tells if the ManagedQueue is set to AutoDelete.
- * @return true if the ManagedQueue is set to AutoDelete.
- * @throws IOException
- */
- @MBeanAttribute(name="AutoDelete", description = "true if the AMQQueue is AutoDelete")
- boolean isAutoDelete() throws IOException;
-
- /**
- * Returns the maximum age of a message (expiration time) in milliseconds
- * @return the maximum age
- * @throws IOException
- */
- Long getMaximumMessageAge() throws IOException;
-
- /**
- * Sets the maximum age of a message in milliseconds
- * @param age maximum age of message.
- * @throws IOException
- */
- @MBeanAttribute(name="MaximumMessageAge", description="Threshold high value(milliseconds) for message age")
- void setMaximumMessageAge(Long age) throws IOException;
-
- /**
- * Returns the maximum size of a message (in Bytes) allowed to be accepted by the
- * ManagedQueue. This is useful in setting notifications or taking
- * appropriate action, if the size of the message received is more than
- * the allowed size.
- * @return the maximum size of a message allowed to be aceepted by the
- * ManagedQueue.
- * @throws IOException
- */
- Long getMaximumMessageSize() throws IOException;
-
- /**
- * Sets the maximum size of the message (in Bytes) that is allowed to be
- * accepted by the Queue.
- * @param size maximum size of message.
- * @throws IOException
- */
- @MBeanAttribute(name="MaximumMessageSize", description="Threshold high value(Bytes) for a message size")
- void setMaximumMessageSize(Long size) throws IOException;
-
- /**
- * Tells the maximum number of messages that can be stored in the queue.
- * This is useful in setting the notifications or taking required
- * action is the number of message increase this limit.
- * @return maximum muber of message allowed to be stored in the queue.
- * @throws IOException
- */
- Long getMaximumMessageCount() throws IOException;
-
- /**
- * Sets the maximum number of messages allowed to be stored in the queue.
- * @param value the maximum number of messages allowed to be stored in the queue.
- * @throws IOException
- */
- @MBeanAttribute(name="MaximumMessageCount", description="Threshold high value for number of undelivered messages in the queue")
- void setMaximumMessageCount(Long value) throws IOException;
-
- /**
- * This is useful for setting notifications or taking required action if the size of messages
- * stored in the queue increases over this limit.
- *
- * Since Qpid JMX API 1.2 this operation returns in units of bytes. Prior to this, the result was in units of kilobytes.
- * @return threshold high value for Queue Depth
- * @throws IOException
- */
- Long getMaximumQueueDepth() throws IOException;
-
- /**
- * Sets the maximum size of all the messages together, that can be stored
- * in the queue.
- * @param value
- * @throws IOException
- */
- @MBeanAttribute(name="MaximumQueueDepth", description="The threshold high value(Bytes) for Queue Depth")
- void setMaximumQueueDepth(Long value) throws IOException;
-
-
- /**
- * Returns the current flow control Capacity of the queue in bytes.
- *
- * @since Qpid JMX API 1.6
- * @return Capacity at which flow control is enforced
- * @throws IOException
- */
- Long getCapacity() throws IOException;
-
- /**
- * Sets the Capacity in bytes above which flow is blocked.
- *
- * @since Qpid JMX API 1.6
- * @param value the capacity in bytes
- * @throws IOException
- * @throws IllegalArgumentException If the given value is less than the queue FloeResumeCapacity
- */
- @MBeanAttribute(name="Capacity", description="The flow control Capacity (Bytes) of the queue")
- void setCapacity(Long value) throws IOException, IllegalArgumentException;
-
- /**
- * Returns the current flow control FlowResumeCapacity of the queue in bytes.
- *
- * @since Qpid JMX API 1.6
- * @return Capacity below which flow resumes in bytes
- * @throws IOException
- */
- Long getFlowResumeCapacity() throws IOException;
-
- /**
- * Sets the FlowResumeCapacity in bytes below which flow resumes.
- *
- * @since Qpid JMX API 1.6
- * @param value of the resume capacity in bytes
- * @throws IOException
- * @throws IllegalArgumentException If the given value exceeds the queue Capacity
- */
- @MBeanAttribute(name="FlowResumeCapacity", description="The flow resume Capacity (Bytes) of the queue")
- void setFlowResumeCapacity(Long value) throws IOException, IllegalArgumentException;
-
- /**
- * Indicates whether the Queue is currently considered overfull by the FlowControl system
- *
- * @since Qpid JMX API 1.6
- * @throws IOException
- */
- @MBeanAttribute(name="FlowOverfull", description="true if the queue is considered overfull by the Flow Control system")
- boolean isFlowOverfull() throws IOException;
-
- //********** Operations *****************//
-
-
- /**
- * Returns a subset of all the messages stored in the queue. The messages
- * are returned based on the given index numbers.
- *
- * Deprecated as of Qpid JMX API 1.3
- * @param fromIndex
- * @param toIndex
- * @return
- * @throws IOException
- * @throws JMException
- */
- @Deprecated
- @MBeanOperation(name="viewMessages",
- description="Message headers for messages in this queue within given index range. eg. from index 1 - 100")
- TabularData viewMessages(@MBeanOperationParameter(name="from index", description="from index")int fromIndex,
- @MBeanOperationParameter(name="to index", description="to index")int toIndex)
- throws IOException, JMException;
-
- /**
- * Returns a subset (up to 2^31 messages at a time) of all the messages stored on the queue.
- * The messages are returned based on the given queue position range.
- * @param startPosition
- * @param endPosition
- * @return
- * @throws IOException
- * @throws JMException
- */
- @MBeanOperation(name="viewMessages",
- description="Message headers for messages in this queue within given queue positions range. eg. from index 1 - 100")
- TabularData viewMessages(@MBeanOperationParameter(name="start position", description="start position")long startPosition,
- @MBeanOperationParameter(name="end position", description="end position")long endPosition)
- throws IOException, JMException;
-
- /**
- * Returns the content for the given AMQ Message ID.
- *
- * @throws IOException
- * @throws JMException
- */
- @MBeanOperation(name="viewMessageContent", description="The message content for given Message Id")
- CompositeData viewMessageContent(@MBeanOperationParameter(name="Message Id", description="Message Id")long messageId)
- throws IOException, JMException;
-
- /**
- * Deletes the first message from top.
- *
- * Deprecated as of Qpid JMX API 1.3
- * @throws IOException
- * @throws JMException
- */
- @Deprecated
- @MBeanOperation(name="deleteMessageFromTop", description="Deletes the first message from top",
- impact= MBeanOperationInfo.ACTION)
- void deleteMessageFromTop() throws IOException, JMException;
-
- /**
- * Clears the queue by deleting all the messages from the queue that have not been acquired by consumers"
- *
- * Since Qpid JMX API 1.3 this returns the number of messages deleted. Prior to this, the return type was void.
- * @return the number of messages deleted
- * @throws IOException
- * @throws JMException
- */
- @MBeanOperation(name="clearQueue",
- description="Clears the queue by deleting all the messages from the queue " +
- "that have not been acquired by consumers",
- impact= MBeanOperationInfo.ACTION)
- Long clearQueue() throws IOException, JMException;
-
- /**
- * Moves the messages in given range of message Ids to given Queue. QPID-170
- * @param fromMessageId first in the range of message ids
- * @param toMessageId last in the range of message ids
- * @param toQueue where the messages are to be moved
- * @throws IOException
- * @throws JMException
- */
- @MBeanOperation(name="moveMessages",
- description="You can move messages to another queue from this queue ",
- impact= MBeanOperationInfo.ACTION)
- void moveMessages(@MBeanOperationParameter(name="from MessageId", description="from MessageId")long fromMessageId,
- @MBeanOperationParameter(name="to MessageId", description="to MessageId")long toMessageId,
- @MBeanOperationParameter(name= ManagedQueue.TYPE, description="to Queue Name")String toQueue)
- throws IOException, JMException;
-
- /**
- * Deletes the messages in given range of AMQ message Ids in the given Queue.
- * @param fromMessageId first in the range of message ids
- * @param toMessageId last in the range of message ids
- * @throws IOException
- * @throws JMException
- */
- @MBeanOperation(name="deleteMessages",
- description="Delete a range of messages from a specified queue",
- impact= MBeanOperationInfo.ACTION)
- void deleteMessages(@MBeanOperationParameter(name="from MessageId", description="from MessageId")long fromMessageId,
- @MBeanOperationParameter(name="to MessageId", description="to MessageId")long toMessageId)
- throws IOException, JMException;
-
- /**
- * Copies the messages in given range of AMQ message Ids to a given Queue.
- * @param fromMessageId first in the range of message ids
- * @param toMessageId last in the range of message ids
- * @param toQueue where the messages are to be copied
- * @throws IOException
- * @throws JMException
- */
- @MBeanOperation(name="copyMessages",
- description="Copies a range of messages to a specified queue",
- impact= MBeanOperationInfo.ACTION)
- void copyMessages(@MBeanOperationParameter(name="from MessageId", description="from MessageId")long fromMessageId,
- @MBeanOperationParameter(name="to MessageId", description="to MessageId")long toMessageId,
- @MBeanOperationParameter(name= ManagedQueue.TYPE, description="to Queue Name")String toQueue)
- throws IOException, JMException;
-}