Author: robbie
Date: Tue Jul 21 09:13:06 2009
New Revision: 796204

URL: http://svn.apache.org/viewvc?rev=796204&view=rev
Log:
QPID-1981: Expose copyMessages() queue operation through the JMX MBean interface

Modified:
    
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java
    
qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java

Modified: 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java?rev=796204&r1=796203&r2=796204&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java
 (original)
+++ 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java
 Tue Jul 21 09:13:06 2009
@@ -501,6 +501,23 @@
     }
     
     /**
+     * @see ManagedQueue#copyMessages
+     * @param fromMessageId
+     * @param toMessageId
+     * @param toQueueName
+     * @throws JMException
+     */
+    public void copyMessages(long fromMessageId, long toMessageId, String 
toQueueName) throws JMException
+    {
+        if ((fromMessageId > toMessageId) || (fromMessageId < 1))
+        {
+            throw new OperationsException("\"From MessageId\" should be 
greater than 0 and less than \"To MessageId\"");
+        }
+
+        _queue.copyMessagesToAnotherQueue(fromMessageId, toMessageId, 
toQueueName, _storeContext);
+    }
+    
+    /**
      * returns Notifications sent by this MBean.
      */
     @Override

Modified: 
qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java?rev=796204&r1=796203&r2=796204&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java
 (original)
+++ 
qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java
 Tue Jul 21 09:13:06 2009
@@ -298,4 +298,20 @@
     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;
 }



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscr...@qpid.apache.org

Reply via email to