You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2007/08/01 15:34:12 UTC
svn commit: r561794 - in /incubator/qpid/branches/M2/java/broker: bin/
src/main/java/org/apache/qpid/tools/messagestore/
src/main/java/org/apache/qpid/tools/messagestore/commands/
Author: ritchiem
Date: Wed Aug 1 06:34:11 2007
New Revision: 561794
URL: http://svn.apache.org/viewvc?view=rev&rev=561794
Log:
Fix for a bug in the Broker Tools, preventing them working.
Modified:
incubator/qpid/branches/M2/java/broker/bin/msTool.sh
incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/MessageStoreTool.java
incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Copy.java
incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Move.java
incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Purge.java
incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Select.java
Modified: incubator/qpid/branches/M2/java/broker/bin/msTool.sh
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/bin/msTool.sh?view=diff&rev=561794&r1=561793&r2=561794
==============================================================================
--- incubator/qpid/branches/M2/java/broker/bin/msTool.sh (original)
+++ incubator/qpid/branches/M2/java/broker/bin/msTool.sh Wed Aug 1 06:34:11 2007
@@ -18,9 +18,6 @@
# under the License.
#
-# Set classpath to include Qpid jar with all required jars in manifest
-QPID_LIBS=$QPID_TOOLS/lib/qpid-incubating.jar
-
die() {
if [[ $1 = -usage ]]; then
shift
@@ -39,18 +36,25 @@
cygwin=true
fi
+if [ -z "$QPID_TOOLS" ]; then
+ if [ -z "$QPID_HOME" ]; then
+ die "QPID_TOOLS must be set"
+ else
+ QPID_TOOLS=$QPID_HOME
+ fi
+fi
+
if $cygwin; then
QPID_TOOLS=$(cygpath -w $QPID_TOOLS)
fi
+# Set classpath to include Qpid jar with all required jars in manifest
+QPID_LIBS=$QPID_TOOLS/lib/qpid-incubating.jar
+
# Set other variables used by the qpid-run script before calling
export JAVA=java \
JAVA_VM=-server \
JAVA_OPTS=-Dlog4j.configuration=file:$QPID_TOOLS/etc/mstool-log4j.xml \
QPID_CLASSPATH=$QPID_LIBS
-
-if [ -z "$QPID_TOOLS" ]; then
- die "QPID_TOOLS be set"
-fi
. qpid-run org.apache.qpid.tools.messagestore.MessageStoreTool "$@"
Modified: incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/MessageStoreTool.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/MessageStoreTool.java?view=diff&rev=561794&r1=561793&r2=561794
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/MessageStoreTool.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/MessageStoreTool.java Wed Aug 1 06:34:11 2007
@@ -40,6 +40,8 @@
import org.apache.qpid.tools.messagestore.commands.Quit;
import org.apache.qpid.tools.messagestore.commands.Select;
import org.apache.qpid.tools.messagestore.commands.Show;
+import org.apache.qpid.tools.messagestore.commands.Move;
+import org.apache.qpid.tools.messagestore.commands.Purge;
import org.apache.qpid.tools.utils.CommandParser;
import org.apache.qpid.tools.utils.Console;
import org.apache.qpid.tools.utils.SimpleCommandParser;
@@ -241,6 +243,8 @@
_commands.put("help", new Help(this));
_commands.put("list", new List(this));
_commands.put("load", new Load(this));
+ _commands.put("move", new Move(this));
+ _commands.put("purge", new Purge(this));
_commands.put("quit", new Quit(this));
_commands.put("select", new Select(this));
_commands.put("show", new Show(this));
Modified: incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Copy.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Copy.java?view=diff&rev=561794&r1=561793&r2=561794
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Copy.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Copy.java Wed Aug 1 06:34:11 2007
@@ -21,7 +21,6 @@
package org.apache.qpid.tools.messagestore.commands;
import org.apache.qpid.server.queue.AMQQueue;
-import org.apache.qpid.server.store.StoreContext;
import org.apache.qpid.tools.messagestore.MessageStoreTool;
public class Copy extends Move
@@ -33,9 +32,9 @@
public String help()
{
- return "Copy messages between queues.\n" +
+ return "Copy messages between queues.";/*\n" +
"The currently selected message set will be copied to the specifed queue.\n" +
- "Alternatively the values can be provided on the command line.";
+ "Alternatively the values can be provided on the command line."; */
}
public String usage()
@@ -48,9 +47,9 @@
return "copy";
}
- protected void doCommand(AMQQueue fromQueue, long start, long end, AMQQueue toQueue, StoreContext storeContext)
+ protected void doCommand(AMQQueue fromQueue, long start, long end, AMQQueue toQueue)
{
- fromQueue.copyMessagesToAnotherQueue(start, end, toQueue.getName().toString(), storeContext);
+ fromQueue.copyMessagesToAnotherQueue(start, end, toQueue.getName().toString(), _storeContext);
}
}
Modified: incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Move.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Move.java?view=diff&rev=561794&r1=561793&r2=561794
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Move.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Move.java Wed Aug 1 06:34:11 2007
@@ -21,10 +21,12 @@
package org.apache.qpid.tools.messagestore.commands;
import org.apache.qpid.framing.AMQShortString;
+import org.apache.qpid.server.queue.AMQMessage;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.store.StoreContext;
import org.apache.qpid.tools.messagestore.MessageStoreTool;
+import java.util.LinkedList;
import java.util.List;
public class Move extends AbstractCommand
@@ -34,7 +36,7 @@
* Since the Coopy command is not associated with a real channel we can safely create our own store context
* for use in the few methods that require one.
*/
- private StoreContext _storeContext = new StoreContext();
+ protected StoreContext _storeContext = new StoreContext();
public Move(MessageStoreTool tool)
{
@@ -43,9 +45,9 @@
public String help()
{
- return "Move messages between queues.\n" +
+ return "Move messages between queues.";/*\n" +
"The currently selected message set will be moved to the specifed queue.\n" +
- "Alternatively the values can be provided on the command line.";
+ "Alternatively the values can be provided on the command line.";*/
}
public String usage()
@@ -110,6 +112,17 @@
Long previous = null;
Long start = null;
+ if (msgids == null)
+ {
+ msgids = allMessageIDs(fromQueue);
+ }
+
+ if (msgids == null || msgids.size() == 0)
+ {
+ _console.println("No Messages to move.");
+ return;
+ }
+
for (long id : msgids)
{
if (previous != null)
@@ -126,18 +139,44 @@
if (start != null)
{
//move a range of ids
- doCommand(fromQueue, start, id, toQueue, _storeContext);
+ doCommand(fromQueue, start, id, toQueue);
+ start = null;
}
else
{
//move a single id
- doCommand(fromQueue, id, id, toQueue, _storeContext);
+ doCommand(fromQueue, id, id, toQueue);
}
}
}
previous = id;
}
+
+ if (start != null)
+ {
+ //move a range of ids
+ doCommand(fromQueue, start, previous, toQueue);
+ }
+ }
+
+ private List<Long> allMessageIDs(AMQQueue fromQueue)
+ {
+ List<Long> ids = new LinkedList<Long>();
+
+ if (fromQueue != null)
+ {
+ List<AMQMessage> messages = fromQueue.getMessagesOnTheQueue();
+ if (messages != null)
+ {
+ for (AMQMessage msg : messages)
+ {
+ ids.add(msg.getMessageId());
+ }
+ }
+ }
+
+ return ids;
}
protected boolean checkRequirements(AMQQueue fromQueue, AMQQueue toQueue, List<Long> msgids)
@@ -159,7 +198,7 @@
return true;
}
- protected void doCommand(AMQQueue fromQueue, long start, long id, AMQQueue toQueue, StoreContext storeContext)
+ protected void doCommand(AMQQueue fromQueue, long start, long id, AMQQueue toQueue)
{
fromQueue.moveMessagesToAnotherQueue(start, id, toQueue.getName().toString(), _storeContext);
}
Modified: incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Purge.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Purge.java?view=diff&rev=561794&r1=561793&r2=561794
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Purge.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Purge.java Wed Aug 1 06:34:11 2007
@@ -61,8 +61,8 @@
return true;
}
- protected void doCommand(AMQQueue fromQueue, long start, long end, AMQQueue toQueue, StoreContext storeContext)
+ protected void doCommand(AMQQueue fromQueue, long start, long end, AMQQueue toQueue)
{
- fromQueue.removeMessagesFromQueue(start, end, storeContext);
+ fromQueue.removeMessagesFromQueue(start, end, _storeContext);
}
}
Modified: incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Select.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Select.java?view=diff&rev=561794&r1=561793&r2=561794
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Select.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Select.java Wed Aug 1 06:34:11 2007
@@ -45,7 +45,7 @@
public String usage()
{
- return "select virtualhost <name> |exchange <name> |queue <name> | msgs id=<msgids eg. 1,2,4-10>";
+ return "select virtualhost <name> |exchange <name> |queue <name> | msg id=<msgids eg. 1,2,4-10>";
}
public String getCommand()