You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by yu...@apache.org on 2017/02/28 11:33:39 UTC
[2/2] incubator-rocketmq git commit: [ROCKETMQ-104] Make MQAdmin
commands throw exceptions, closes apache/incubator-rocketmq#65
[ROCKETMQ-104] Make MQAdmin commands throw exceptions, closes apache/incubator-rocketmq#65
Project: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/commit/39409245
Tree: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/tree/39409245
Diff: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/diff/39409245
Branch: refs/heads/develop
Commit: 3940924561810f889888ba6fb898886dfb125696
Parents: d545f86
Author: shroman <rs...@yahoo.com>
Authored: Tue Feb 28 19:33:15 2017 +0800
Committer: yukon <yu...@apache.org>
Committed: Tue Feb 28 19:33:15 2017 +0800
----------------------------------------------------------------------
.../rocketmq/tools/command/SubCommand.java | 8 +-
.../tools/command/SubCommandException.java | 36 +++
.../broker/BrokerConsumeStatsSubCommad.java | 5 +-
.../command/broker/BrokerStatusSubCommand.java | 5 +-
.../broker/CleanExpiredCQSubCommand.java | 5 +-
.../command/broker/CleanUnusedTopicCommand.java | 5 +-
.../command/broker/GetBrokerConfigCommand.java | 5 +-
.../command/broker/SendMsgStatusCommand.java | 5 +-
.../broker/UpdateBrokerConfigSubCommand.java | 5 +-
.../cluster/CLusterSendMsgRTCommand.java | 5 +-
.../command/cluster/ClusterListSubCommand.java | 5 +-
.../ConsumerConnectionSubCommand.java | 5 +-
.../ProducerConnectionSubCommand.java | 5 +-
.../consumer/ConsumerProgressSubCommand.java | 5 +-
.../consumer/ConsumerStatusSubCommand.java | 5 +-
.../command/consumer/ConsumerSubCommand.java | 5 +-
.../DeleteSubscriptionGroupCommand.java | 5 +-
.../consumer/StartMonitoringSubCommand.java | 5 +-
.../consumer/UpdateSubGroupSubCommand.java | 5 +-
.../command/message/CheckMsgSendRTCommand.java | 5 +-
.../command/message/DecodeMessageIdCommond.java | 5 +-
.../message/PrintMessageByQueueCommand.java | 5 +-
.../command/message/PrintMessageSubCommand.java | 5 +-
.../command/message/QueryMsgByIdSubCommand.java | 5 +-
.../message/QueryMsgByKeySubCommand.java | 5 +-
.../message/QueryMsgByOffsetSubCommand.java | 5 +-
.../message/QueryMsgByUniqueKeySubCommand.java | 5 +-
.../rocketmq/tools/command/message/Store.java | 265 -------------------
.../command/namesrv/DeleteKvConfigCommand.java | 5 +-
.../namesrv/GetNamesrvConfigCommand.java | 5 +-
.../command/namesrv/UpdateKvConfigCommand.java | 5 +-
.../namesrv/UpdateNamesrvConfigCommand.java | 5 +-
.../namesrv/WipeWritePermSubCommand.java | 5 +-
.../command/offset/CloneGroupOffsetCommand.java | 5 +-
.../offset/GetConsumerStatusCommand.java | 5 +-
.../offset/ResetOffsetByTimeCommand.java | 15 +-
.../offset/ResetOffsetByTimeOldCommand.java | 8 +-
.../tools/command/stats/StatsAllSubCommand.java | 5 +-
.../command/topic/AllocateMQSubCommand.java | 5 +-
.../command/topic/DeleteTopicSubCommand.java | 5 +-
.../command/topic/TopicClusterSubCommand.java | 5 +-
.../command/topic/TopicListSubCommand.java | 5 +-
.../command/topic/TopicRouteSubCommand.java | 5 +-
.../command/topic/TopicStatusSubCommand.java | 5 +-
.../command/topic/UpdateOrderConfCommand.java | 5 +-
.../topic/UpdateTopicPermSubCommand.java | 5 +-
.../command/topic/UpdateTopicSubCommand.java | 5 +-
.../broker/BrokerConsumeStatsSubCommadTest.java | 8 +-
.../broker/BrokerStatusSubCommandTest.java | 8 +-
.../broker/CleanExpiredCQSubCommandTest.java | 8 +-
.../broker/CleanUnusedTopicCommandTest.java | 8 +-
.../broker/GetBrokerConfigCommandTest.java | 7 +-
.../broker/SendMsgStatusCommandTest.java | 2 +-
.../UpdateBrokerConfigSubCommandTest.java | 7 +-
.../ConsumerConnectionSubCommandTest.java | 7 +-
.../ProducerConnectionSubCommandTest.java | 7 +-
.../ConsumerProgressSubCommandTest.java | 7 +-
.../consumer/ConsumerStatusSubCommandTest.java | 7 +-
.../namesrv/GetNamesrvConfigCommandTest.java | 7 +-
.../namesrv/WipeWritePermSubCommandTest.java | 7 +-
.../offset/GetConsumerStatusCommandTest.java | 7 +-
.../offset/ResetOffsetByTimeCommandTest.java | 7 +-
62 files changed, 245 insertions(+), 401 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/SubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/SubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/SubCommand.java
index 3e5ed2b..b42db08 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/SubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/SubCommand.java
@@ -21,11 +21,11 @@ import org.apache.commons.cli.Options;
import org.apache.rocketmq.remoting.RPCHook;
public interface SubCommand {
- public String commandName();
+ String commandName();
- public String commandDesc();
+ String commandDesc();
- public Options buildCommandlineOptions(final Options options);
+ Options buildCommandlineOptions(final Options options);
- public void execute(final CommandLine commandLine, final Options options, RPCHook rpcHook);
+ void execute(final CommandLine commandLine, final Options options, RPCHook rpcHook) throws SubCommandException;
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/SubCommandException.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/SubCommandException.java b/tools/src/main/java/org/apache/rocketmq/tools/command/SubCommandException.java
new file mode 100644
index 0000000..fadd853
--- /dev/null
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/SubCommandException.java
@@ -0,0 +1,36 @@
+/*
+ * 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.rocketmq.tools.command;
+
+public class SubCommandException extends Exception {
+ private static final long serialVersionUID = 0L;
+
+ /**
+ * @param msg Message.
+ */
+ public SubCommandException(String msg) {
+ super(msg);
+ }
+
+ /**
+ * @param msg Message.
+ * @param cause Cause.
+ */
+ public SubCommandException(String msg, Throwable cause) {
+ super(msg, cause);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerConsumeStatsSubCommad.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerConsumeStatsSubCommad.java b/tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerConsumeStatsSubCommad.java
index bcd4c9c..aee2f6b 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerConsumeStatsSubCommad.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerConsumeStatsSubCommad.java
@@ -32,6 +32,7 @@ import org.apache.rocketmq.common.protocol.body.ConsumeStatsList;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class BrokerConsumeStatsSubCommad implements SubCommand {
@@ -67,7 +68,7 @@ public class BrokerConsumeStatsSubCommad implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
try {
@@ -134,7 +135,7 @@ public class BrokerConsumeStatsSubCommad implements SubCommand {
}
System.out.printf("%nDiff Total: %d%n", consumeStatsList.getTotalDiff());
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerStatusSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerStatusSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerStatusSubCommand.java
index 9c26d50..789ba00 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerStatusSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerStatusSubCommand.java
@@ -32,6 +32,7 @@ import org.apache.rocketmq.remoting.exception.RemotingTimeoutException;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.CommandUtil;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class BrokerStatusSubCommand implements SubCommand {
@@ -59,7 +60,7 @@ public class BrokerStatusSubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -84,7 +85,7 @@ public class BrokerStatusSubCommand implements SubCommand {
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/broker/CleanExpiredCQSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/broker/CleanExpiredCQSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/broker/CleanExpiredCQSubCommand.java
index 1cc2148..94a49d4 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/broker/CleanExpiredCQSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/broker/CleanExpiredCQSubCommand.java
@@ -23,6 +23,7 @@ import org.apache.commons.cli.Options;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class CleanExpiredCQSubCommand implements SubCommand {
@@ -50,7 +51,7 @@ public class CleanExpiredCQSubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -69,7 +70,7 @@ public class CleanExpiredCQSubCommand implements SubCommand {
}
System.out.printf(result ? "success" : "false");
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/broker/CleanUnusedTopicCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/broker/CleanUnusedTopicCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/broker/CleanUnusedTopicCommand.java
index 6e2fecb..2aabeeb 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/broker/CleanUnusedTopicCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/broker/CleanUnusedTopicCommand.java
@@ -23,6 +23,7 @@ import org.apache.commons.cli.Options;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class CleanUnusedTopicCommand implements SubCommand {
@@ -50,7 +51,7 @@ public class CleanUnusedTopicCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -69,7 +70,7 @@ public class CleanUnusedTopicCommand implements SubCommand {
}
System.out.printf(result ? "success" : "false");
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/broker/GetBrokerConfigCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/broker/GetBrokerConfigCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/broker/GetBrokerConfigCommand.java
index 03fef39..919f673 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/broker/GetBrokerConfigCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/broker/GetBrokerConfigCommand.java
@@ -33,6 +33,7 @@ import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.admin.MQAdminExt;
import org.apache.rocketmq.tools.command.CommandUtil;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class GetBrokerConfigCommand implements SubCommand {
@Override
@@ -59,7 +60,7 @@ public class GetBrokerConfigCommand implements SubCommand {
}
@Override
- public void execute(final CommandLine commandLine, final Options options, final RPCHook rpcHook) {
+ public void execute(final CommandLine commandLine, final Options options, final RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -100,7 +101,7 @@ public class GetBrokerConfigCommand implements SubCommand {
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/broker/SendMsgStatusCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/broker/SendMsgStatusCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/broker/SendMsgStatusCommand.java
index eb2bbf1..e0a628a 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/broker/SendMsgStatusCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/broker/SendMsgStatusCommand.java
@@ -26,6 +26,7 @@ import org.apache.rocketmq.common.MixAll;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class SendMsgStatusCommand implements SubCommand {
@@ -69,7 +70,7 @@ public class SendMsgStatusCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
final DefaultMQProducer producer = new DefaultMQProducer("PID_SMSC", rpcHook);
producer.setInstanceName("PID_SMSC_" + System.currentTimeMillis());
@@ -87,7 +88,7 @@ public class SendMsgStatusCommand implements SubCommand {
System.out.printf("rt:" + (System.currentTimeMillis() - begin) + "ms, SendResult=" + result);
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
producer.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/broker/UpdateBrokerConfigSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/broker/UpdateBrokerConfigSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/broker/UpdateBrokerConfigSubCommand.java
index 7fadce1..a94fa50 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/broker/UpdateBrokerConfigSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/broker/UpdateBrokerConfigSubCommand.java
@@ -26,6 +26,7 @@ import org.apache.rocketmq.srvutil.ServerUtil;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.CommandUtil;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class UpdateBrokerConfigSubCommand implements SubCommand {
@@ -61,7 +62,7 @@ public class UpdateBrokerConfigSubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -101,7 +102,7 @@ public class UpdateBrokerConfigSubCommand implements SubCommand {
ServerUtil.printCommandLineHelp("mqadmin " + this.commandName(), options);
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/cluster/CLusterSendMsgRTCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/cluster/CLusterSendMsgRTCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/cluster/CLusterSendMsgRTCommand.java
index 72aad50..37d66e4 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/cluster/CLusterSendMsgRTCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/cluster/CLusterSendMsgRTCommand.java
@@ -34,6 +34,7 @@ import org.apache.rocketmq.common.protocol.body.ClusterInfo;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class CLusterSendMsgRTCommand implements SubCommand {
@@ -80,7 +81,7 @@ public class CLusterSendMsgRTCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -183,7 +184,7 @@ public class CLusterSendMsgRTCommand implements SubCommand {
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
producer.shutdown();
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/cluster/ClusterListSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/cluster/ClusterListSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/cluster/ClusterListSubCommand.java
index bd79bc7..c7b8ac5 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/cluster/ClusterListSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/cluster/ClusterListSubCommand.java
@@ -33,6 +33,7 @@ import org.apache.rocketmq.remoting.exception.RemotingSendRequestException;
import org.apache.rocketmq.remoting.exception.RemotingTimeoutException;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class ClusterListSubCommand implements SubCommand {
@@ -60,7 +61,7 @@ public class ClusterListSubCommand implements SubCommand {
}
@Override
- public void execute(final CommandLine commandLine, final Options options, RPCHook rpcHook) {
+ public void execute(final CommandLine commandLine, final Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -88,7 +89,7 @@ public class ClusterListSubCommand implements SubCommand {
}
while (enableInterval);
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/connection/ConsumerConnectionSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/connection/ConsumerConnectionSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/connection/ConsumerConnectionSubCommand.java
index 48a97e0..4e53caf 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/connection/ConsumerConnectionSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/connection/ConsumerConnectionSubCommand.java
@@ -28,6 +28,7 @@ import org.apache.rocketmq.common.protocol.heartbeat.SubscriptionData;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class ConsumerConnectionSubCommand implements SubCommand {
@@ -51,7 +52,7 @@ public class ConsumerConnectionSubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -92,7 +93,7 @@ public class ConsumerConnectionSubCommand implements SubCommand {
System.out.printf("MessageModel: %s%n", cc.getMessageModel());
System.out.printf("ConsumeFromWhere: %s%n", cc.getConsumeFromWhere());
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/connection/ProducerConnectionSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/connection/ProducerConnectionSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/connection/ProducerConnectionSubCommand.java
index ae3c6ac..bc86724 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/connection/ProducerConnectionSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/connection/ProducerConnectionSubCommand.java
@@ -25,6 +25,7 @@ import org.apache.rocketmq.common.protocol.body.ProducerConnection;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class ProducerConnectionSubCommand implements SubCommand {
@@ -52,7 +53,7 @@ public class ProducerConnectionSubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -76,7 +77,7 @@ public class ProducerConnectionSubCommand implements SubCommand {
);
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerProgressSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerProgressSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerProgressSubCommand.java
index da738dc..35fd260 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerProgressSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerProgressSubCommand.java
@@ -37,6 +37,7 @@ import org.apache.rocketmq.common.protocol.heartbeat.MessageModel;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
import org.slf4j.Logger;
public class ConsumerProgressSubCommand implements SubCommand {
@@ -62,7 +63,7 @@ public class ConsumerProgressSubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -168,7 +169,7 @@ public class ConsumerProgressSubCommand implements SubCommand {
}
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerStatusSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerStatusSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerStatusSubCommand.java
index d08c58b..0e49c72 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerStatusSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerStatusSubCommand.java
@@ -31,6 +31,7 @@ import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.MQAdminStartup;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class ConsumerStatusSubCommand implements SubCommand {
@@ -67,7 +68,7 @@ public class ConsumerStatusSubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -130,7 +131,7 @@ public class ConsumerStatusSubCommand implements SubCommand {
}
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerSubCommand.java
index cf74da9..0eea98d 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerSubCommand.java
@@ -31,6 +31,7 @@ import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.MQAdminStartup;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class ConsumerSubCommand implements SubCommand {
@@ -63,7 +64,7 @@ public class ConsumerSubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -129,7 +130,7 @@ public class ConsumerSubCommand implements SubCommand {
}
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/DeleteSubscriptionGroupCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/DeleteSubscriptionGroupCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/DeleteSubscriptionGroupCommand.java
index 35735a1..96d8195 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/DeleteSubscriptionGroupCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/DeleteSubscriptionGroupCommand.java
@@ -26,6 +26,7 @@ import org.apache.rocketmq.srvutil.ServerUtil;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.CommandUtil;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
import org.apache.rocketmq.tools.command.topic.DeleteTopicSubCommand;
public class DeleteSubscriptionGroupCommand implements SubCommand {
@@ -57,7 +58,7 @@ public class DeleteSubscriptionGroupCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt adminExt = new DefaultMQAdminExt(rpcHook);
adminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
try {
@@ -98,7 +99,7 @@ public class DeleteSubscriptionGroupCommand implements SubCommand {
ServerUtil.printCommandLineHelp("mqadmin " + this.commandName(), options);
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
adminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/StartMonitoringSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/StartMonitoringSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/StartMonitoringSubCommand.java
index 373c895..1480575 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/StartMonitoringSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/StartMonitoringSubCommand.java
@@ -21,6 +21,7 @@ import org.apache.commons.cli.Options;
import org.apache.rocketmq.client.log.ClientLogger;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
import org.apache.rocketmq.tools.monitor.DefaultMonitorListener;
import org.apache.rocketmq.tools.monitor.MonitorConfig;
import org.apache.rocketmq.tools.monitor.MonitorService;
@@ -45,14 +46,14 @@ public class StartMonitoringSubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
try {
MonitorService monitorService =
new MonitorService(new MonitorConfig(), new DefaultMonitorListener(), rpcHook);
monitorService.start();
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/UpdateSubGroupSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/UpdateSubGroupSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/UpdateSubGroupSubCommand.java
index 3cddf61..910eb1c 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/UpdateSubGroupSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/UpdateSubGroupSubCommand.java
@@ -26,6 +26,7 @@ import org.apache.rocketmq.srvutil.ServerUtil;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.CommandUtil;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class UpdateSubGroupSubCommand implements SubCommand {
@@ -89,7 +90,7 @@ public class UpdateSubGroupSubCommand implements SubCommand {
}
@Override
- public void execute(final CommandLine commandLine, final Options options, RPCHook rpcHook) {
+ public void execute(final CommandLine commandLine, final Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -180,7 +181,7 @@ public class UpdateSubGroupSubCommand implements SubCommand {
ServerUtil.printCommandLineHelp("mqadmin " + this.commandName(), options);
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/message/CheckMsgSendRTCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/message/CheckMsgSendRTCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/message/CheckMsgSendRTCommand.java
index 428da3b..14cd720 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/message/CheckMsgSendRTCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/message/CheckMsgSendRTCommand.java
@@ -27,6 +27,7 @@ import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.common.message.MessageQueue;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class CheckMsgSendRTCommand implements SubCommand {
private static String brokerName = "";
@@ -59,7 +60,7 @@ public class CheckMsgSendRTCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQProducer producer = new DefaultMQProducer(rpcHook);
producer.setProducerGroup(Long.toString(System.currentTimeMillis()));
@@ -117,7 +118,7 @@ public class CheckMsgSendRTCommand implements SubCommand {
double rt = (double) timeElapsed / (amount - 1);
System.out.printf("Avg RT: %s%n", String.format("%.2f", rt));
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
producer.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/message/DecodeMessageIdCommond.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/message/DecodeMessageIdCommond.java b/tools/src/main/java/org/apache/rocketmq/tools/command/message/DecodeMessageIdCommond.java
index 17e34f7..64f634e 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/message/DecodeMessageIdCommond.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/message/DecodeMessageIdCommond.java
@@ -23,6 +23,7 @@ import org.apache.rocketmq.common.UtilAll;
import org.apache.rocketmq.common.message.MessageClientIDSetter;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class DecodeMessageIdCommond implements SubCommand {
@Override
@@ -44,7 +45,7 @@ public class DecodeMessageIdCommond implements SubCommand {
}
@Override
- public void execute(final CommandLine commandLine, final Options options, RPCHook rpcHook) {
+ public void execute(final CommandLine commandLine, final Options options, RPCHook rpcHook) throws SubCommandException {
String messageId = commandLine.getOptionValue('i').trim();
try {
@@ -57,7 +58,7 @@ public class DecodeMessageIdCommond implements SubCommand {
String date = UtilAll.formatDate(MessageClientIDSetter.getNearlyTimeFromID(messageId), UtilAll.YYYY_MM_DD_HH_MM_SS_SSS);
System.out.printf("date=" + date);
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/message/PrintMessageByQueueCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/message/PrintMessageByQueueCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/message/PrintMessageByQueueCommand.java
index adeb138..ac51267 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/message/PrintMessageByQueueCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/message/PrintMessageByQueueCommand.java
@@ -36,6 +36,7 @@ import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.common.message.MessageQueue;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class PrintMessageByQueueCommand implements SubCommand {
@@ -154,7 +155,7 @@ public class PrintMessageByQueueCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQPullConsumer consumer = new DefaultMQPullConsumer(MixAll.TOOLS_CONSUMER_GROUP, rpcHook);
try {
@@ -214,7 +215,7 @@ public class PrintMessageByQueueCommand implements SubCommand {
printCalculateByTag(tagCalmap, calByTag);
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
consumer.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/message/PrintMessageSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/message/PrintMessageSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/message/PrintMessageSubCommand.java
index 591d27e..ac48519 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/message/PrintMessageSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/message/PrintMessageSubCommand.java
@@ -30,6 +30,7 @@ import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.common.message.MessageQueue;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class PrintMessageSubCommand implements SubCommand {
@@ -101,7 +102,7 @@ public class PrintMessageSubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQPullConsumer consumer = new DefaultMQPullConsumer(MixAll.TOOLS_CONSUMER_GROUP, rpcHook);
try {
@@ -161,7 +162,7 @@ public class PrintMessageSubCommand implements SubCommand {
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
consumer.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByIdSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByIdSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByIdSubCommand.java
index 826a993..05ae003 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByIdSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByIdSubCommand.java
@@ -39,6 +39,7 @@ import org.apache.rocketmq.remoting.exception.RemotingException;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.admin.api.MessageTrack;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class QueryMsgByIdSubCommand implements SubCommand {
public static void queryById(final DefaultMQAdminExt admin, final String msgId) throws MQClientException,
@@ -209,7 +210,7 @@ public class QueryMsgByIdSubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
DefaultMQProducer defaultMQProducer = new DefaultMQProducer("ReSendMsgById");
@@ -254,7 +255,7 @@ public class QueryMsgByIdSubCommand implements SubCommand {
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQProducer.shutdown();
defaultMQAdminExt.shutdown();
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByKeySubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByKeySubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByKeySubCommand.java
index bdc5f52..c9303f7 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByKeySubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByKeySubCommand.java
@@ -25,6 +25,7 @@ import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class QueryMsgByKeySubCommand implements SubCommand {
@@ -52,7 +53,7 @@ public class QueryMsgByKeySubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -63,7 +64,7 @@ public class QueryMsgByKeySubCommand implements SubCommand {
this.queryByKey(defaultMQAdminExt, topic, key);
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByOffsetSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByOffsetSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByOffsetSubCommand.java
index 3a17882..75a4cd0 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByOffsetSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByOffsetSubCommand.java
@@ -26,6 +26,7 @@ import org.apache.rocketmq.common.message.MessageQueue;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class QueryMsgByOffsetSubCommand implements SubCommand {
@@ -61,7 +62,7 @@ public class QueryMsgByOffsetSubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
DefaultMQPullConsumer defaultMQPullConsumer = new DefaultMQPullConsumer(MixAll.TOOLS_CONSUMER_GROUP, rpcHook);
@@ -96,7 +97,7 @@ public class QueryMsgByOffsetSubCommand implements SubCommand {
}
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQPullConsumer.shutdown();
defaultMQAdminExt.shutdown();
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByUniqueKeySubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByUniqueKeySubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByUniqueKeySubCommand.java
index 7c8af37..5c93ad7 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByUniqueKeySubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/message/QueryMsgByUniqueKeySubCommand.java
@@ -35,6 +35,7 @@ import org.apache.rocketmq.remoting.exception.RemotingException;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.admin.api.MessageTrack;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class QueryMsgByUniqueKeySubCommand implements SubCommand {
@@ -179,7 +180,7 @@ public class QueryMsgByUniqueKeySubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -198,7 +199,7 @@ public class QueryMsgByUniqueKeySubCommand implements SubCommand {
queryById(defaultMQAdminExt, topic, msgId);
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/message/Store.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/message/Store.java b/tools/src/main/java/org/apache/rocketmq/tools/command/message/Store.java
deleted file mode 100644
index 6db7813..0000000
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/message/Store.java
+++ /dev/null
@@ -1,265 +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.rocketmq.tools.command.message;
-
-import java.io.File;
-import java.io.UnsupportedEncodingException;
-import java.nio.ByteBuffer;
-import java.util.Date;
-import java.util.List;
-import java.util.concurrent.ConcurrentHashMap;
-import org.apache.rocketmq.common.MixAll;
-import org.apache.rocketmq.store.ConsumeQueue;
-import org.apache.rocketmq.store.MappedFile;
-import org.apache.rocketmq.store.MappedFileQueue;
-import org.apache.rocketmq.store.SelectMappedBufferResult;
-import org.apache.rocketmq.store.config.StorePathConfigHelper;
-
-public class Store {
- public final static int MESSAGE_MAGIC_CODE = 0xAABBCCDD ^ 1880681586 + 8;
- private final static int BLANK_MAGIC_CODE = 0xBBCCDDEE ^ 1880681586 + 8;
- private MappedFileQueue mapedFileQueue;
- private ConcurrentHashMap<String/* topic */, ConcurrentHashMap<Integer/* queueId */, ConsumeQueue>> consumeQueueTable;
-
- private String cStorePath;
- private int cSize;
- private String lStorePath;
- private int lSize;
-
- public Store(String cStorePath, int cSize, String lStorePath, int lSize) {
- this.cStorePath = cStorePath;
- this.cSize = cSize;
- this.lStorePath = lStorePath;
- this.lSize = lSize;
- mapedFileQueue = new MappedFileQueue(cStorePath, cSize, null);
- consumeQueueTable =
- new ConcurrentHashMap<String/* topic */, ConcurrentHashMap<Integer/* queueId */, ConsumeQueue>>();
- }
-
- public boolean load() {
- boolean result = this.mapedFileQueue.load();
- System.out.printf("load commit log " + (result ? "OK" : "Failed"));
- if (result) {
- result = loadConsumeQueue();
- }
- System.out.printf("load logics log " + (result ? "OK" : "Failed"));
- return result;
- }
-
- private boolean loadConsumeQueue() {
- File dirLogic = new File(StorePathConfigHelper.getStorePathConsumeQueue(lStorePath));
- File[] fileTopicList = dirLogic.listFiles();
- if (fileTopicList != null) {
-
- for (File fileTopic : fileTopicList) {
- String topic = fileTopic.getName();
-
- File[] fileQueueIdList = fileTopic.listFiles();
- if (fileQueueIdList != null) {
- for (File fileQueueId : fileQueueIdList) {
- int queueId = Integer.parseInt(fileQueueId.getName());
- ConsumeQueue logic = new ConsumeQueue(
- topic,
- queueId,
- StorePathConfigHelper.getStorePathConsumeQueue(lStorePath),
- lSize,
- null);
- this.putConsumeQueue(topic, queueId, logic);
- if (!logic.load()) {
- return false;
- }
- }
- }
- }
- }
- System.out.printf("load logics queue all over, OK");
- return true;
- }
-
- private void putConsumeQueue(final String topic, final int queueId, final ConsumeQueue consumeQueue) {
- ConcurrentHashMap<Integer/* queueId */, ConsumeQueue> map = this.consumeQueueTable.get(topic);
- if (null == map) {
- map = new ConcurrentHashMap<Integer/* queueId */, ConsumeQueue>();
- map.put(queueId, consumeQueue);
- this.consumeQueueTable.put(topic, map);
- } else {
- map.put(queueId, consumeQueue);
- }
- }
-
- public void traval(boolean openAll) {
- boolean success = true;
- byte[] bytesContent = new byte[1024];
- List<MappedFile> mapedFiles = this.mapedFileQueue.getMappedFiles();
- ALL:
- for (MappedFile mapedFile : mapedFiles) {
- long startOffset = mapedFile.getFileFromOffset();
- int position = 0;
- int msgCount = 0;
- int errorCount = 0;
-
- System.out.printf("start travel " + mapedFile.getFileName());
- long startTime = System.currentTimeMillis();
- ByteBuffer byteBuffer = mapedFile.sliceByteBuffer();
- while (byteBuffer.hasRemaining()) {
- // 1 TOTALSIZE
- int totalSize = byteBuffer.getInt();
- // 2 MAGICCODE
- int magicCode = byteBuffer.getInt();
- if (BLANK_MAGIC_CODE == magicCode) {
- position = byteBuffer.limit();
- break;
- }
- // 3 BODYCRC
- int bodyCRC = byteBuffer.getInt();
-
- // 4 QUEUEID
- int queueId = byteBuffer.getInt();
-
- // 5 FLAG
- int flag = byteBuffer.getInt();
-
- // 6 QUEUEOFFSET
- long queueOffset = byteBuffer.getLong();
-
- // 7 PHYSICALOFFSET
- long physicOffset = byteBuffer.getLong();
-
- // 8 SYSFLAG
- int sysFlag = byteBuffer.getInt();
-
- // 9 BORNTIMESTAMP
- long bornTimeStamp = byteBuffer.getLong();
-
- // 10 BORNHOST(IP+PORT)
- byteBuffer.position(byteBuffer.position() + 8);
-
- // 11 STORETIMESTAMP
- long storeTimestamp = byteBuffer.getLong();
-
- // 12 STOREHOST(IP+PORT)
- byteBuffer.position(byteBuffer.position() + 8);
-
- // 13 RECONSUMETIMES
- int reconsumeTimes = byteBuffer.getInt();
-
- // 14 Prepared Transaction Offset
- long preparedTransactionOffset = byteBuffer.getLong();
-
- // 15 BODY
- int bodyLen = byteBuffer.getInt();
- if (bodyLen > 0) {
- byteBuffer.position(byteBuffer.position() + bodyLen);
- }
-
- // 16 TOPIC
- byte topicLen = byteBuffer.get();
- byteBuffer.get(bytesContent, 0, topicLen);
- String topic = null;
- try {
- topic = new String(bytesContent, 0, topicLen, MixAll.DEFAULT_CHARSET);
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
-
- Date storeTime = new Date(storeTimestamp);
-
- long currentPhyOffset = startOffset + position;
- if (physicOffset != currentPhyOffset) {
- System.out.printf(storeTime
- + " [fetal error] physicOffset != currentPhyOffset. position=" + position
- + ", msgCount=" + msgCount + ", physicOffset=" + physicOffset
- + ", currentPhyOffset=" + currentPhyOffset);
- errorCount++;
- if (!openAll) {
- success = false;
- break ALL;
- }
- }
-
- ConsumeQueue consumeQueue = findConsumeQueue(topic, queueId);
- SelectMappedBufferResult smb = consumeQueue.getIndexBuffer(queueOffset);
- try {
- long offsetPy = smb.getByteBuffer().getLong();
- int sizePy = smb.getByteBuffer().getInt();
- if (physicOffset != offsetPy) {
- System.out.printf(storeTime + " [fetal error] physicOffset != offsetPy. position="
- + position + ", msgCount=" + msgCount + ", physicOffset=" + physicOffset
- + ", offsetPy=" + offsetPy);
- errorCount++;
- if (!openAll) {
- success = false;
- break ALL;
- }
- }
- if (totalSize != sizePy) {
- System.out.printf(storeTime + " [fetal error] totalSize != sizePy. position="
- + position + ", msgCount=" + msgCount + ", totalSize=" + totalSize
- + ", sizePy=" + sizePy);
- errorCount++;
- if (!openAll) {
- success = false;
- break ALL;
- }
- }
- } finally {
- smb.release();
- }
-
- msgCount++;
- position += totalSize;
- byteBuffer.position(position);
- }
-
- System.out.printf("end travel " + mapedFile.getFileName() + ", total msg=" + msgCount
- + ", error count=" + errorCount + ", cost:" + (System.currentTimeMillis() - startTime));
- }
-
- System.out.printf("travel " + (success ? "ok" : "fail"));
- }
-
- public ConsumeQueue findConsumeQueue(String topic, int queueId) {
- ConcurrentHashMap<Integer, ConsumeQueue> map = consumeQueueTable.get(topic);
- if (null == map) {
- ConcurrentHashMap<Integer, ConsumeQueue> newMap =
- new ConcurrentHashMap<Integer, ConsumeQueue>(128);
- ConcurrentHashMap<Integer, ConsumeQueue> oldMap = consumeQueueTable.putIfAbsent(topic, newMap);
- if (oldMap != null) {
- map = oldMap;
- } else {
- map = newMap;
- }
- }
- ConsumeQueue logic = map.get(queueId);
- if (null == logic) {
- ConsumeQueue newLogic = new ConsumeQueue(
- topic,
- queueId,
- StorePathConfigHelper.getStorePathConsumeQueue(lStorePath),
- lSize,
- null);
- ConsumeQueue oldLogic = map.putIfAbsent(queueId, newLogic);
- if (oldLogic != null) {
- logic = oldLogic;
- } else {
- logic = newLogic;
- }
- }
- return logic;
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/DeleteKvConfigCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/DeleteKvConfigCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/DeleteKvConfigCommand.java
index a8ac6a4..0a0cc06 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/DeleteKvConfigCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/DeleteKvConfigCommand.java
@@ -22,6 +22,7 @@ import org.apache.commons.cli.Options;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class DeleteKvConfigCommand implements SubCommand {
@Override
@@ -47,7 +48,7 @@ public class DeleteKvConfigCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
try {
@@ -60,7 +61,7 @@ public class DeleteKvConfigCommand implements SubCommand {
defaultMQAdminExt.deleteKvConfig(namespace, key);
System.out.printf("delete kv config from namespace success.%n");
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/GetNamesrvConfigCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/GetNamesrvConfigCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/GetNamesrvConfigCommand.java
index c36e333..ce63616 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/GetNamesrvConfigCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/GetNamesrvConfigCommand.java
@@ -26,6 +26,7 @@ import org.apache.commons.cli.Options;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class GetNamesrvConfigCommand implements SubCommand {
@@ -45,7 +46,7 @@ public class GetNamesrvConfigCommand implements SubCommand {
}
@Override
- public void execute(final CommandLine commandLine, final Options options, final RPCHook rpcHook) {
+ public void execute(final CommandLine commandLine, final Options options, final RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
try {
@@ -72,7 +73,7 @@ public class GetNamesrvConfigCommand implements SubCommand {
}
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/UpdateKvConfigCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/UpdateKvConfigCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/UpdateKvConfigCommand.java
index 254eaf3..56b4e72 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/UpdateKvConfigCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/UpdateKvConfigCommand.java
@@ -22,6 +22,7 @@ import org.apache.commons.cli.Options;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class UpdateKvConfigCommand implements SubCommand {
@Override
@@ -51,7 +52,7 @@ public class UpdateKvConfigCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
try {
@@ -66,7 +67,7 @@ public class UpdateKvConfigCommand implements SubCommand {
defaultMQAdminExt.createAndUpdateKvConfig(namespace, key, value);
System.out.printf("create or update kv config to namespace success.%n");
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/UpdateNamesrvConfigCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/UpdateNamesrvConfigCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/UpdateNamesrvConfigCommand.java
index 0b33ca2..2509370 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/UpdateNamesrvConfigCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/UpdateNamesrvConfigCommand.java
@@ -26,6 +26,7 @@ import org.apache.commons.cli.Options;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class UpdateNamesrvConfigCommand implements SubCommand {
@Override
@@ -52,7 +53,7 @@ public class UpdateNamesrvConfigCommand implements SubCommand {
}
@Override
- public void execute(final CommandLine commandLine, final Options options, final RPCHook rpcHook) {
+ public void execute(final CommandLine commandLine, final Options options, final RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
try {
@@ -81,7 +82,7 @@ public class UpdateNamesrvConfigCommand implements SubCommand {
System.out.printf("update name server config success!%s\n%s : %s\n",
serverList == null ? "" : serverList, key, value);
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/WipeWritePermSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/WipeWritePermSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/WipeWritePermSubCommand.java
index f24b855..f886833 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/WipeWritePermSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/namesrv/WipeWritePermSubCommand.java
@@ -23,6 +23,7 @@ import org.apache.commons.cli.Options;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class WipeWritePermSubCommand implements SubCommand {
@@ -45,7 +46,7 @@ public class WipeWritePermSubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -74,7 +75,7 @@ public class WipeWritePermSubCommand implements SubCommand {
}
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/offset/CloneGroupOffsetCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/offset/CloneGroupOffsetCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/offset/CloneGroupOffsetCommand.java
index 2bc1fd6..460f59c 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/offset/CloneGroupOffsetCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/offset/CloneGroupOffsetCommand.java
@@ -28,6 +28,7 @@ import org.apache.rocketmq.common.protocol.route.TopicRouteData;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class CloneGroupOffsetCommand implements SubCommand {
@Override
@@ -64,7 +65,7 @@ public class CloneGroupOffsetCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
String srcGroup = commandLine.getOptionValue("s").trim();
String destGroup = commandLine.getOptionValue("d").trim();
String topic = commandLine.getOptionValue("t").trim();
@@ -95,7 +96,7 @@ public class CloneGroupOffsetCommand implements SubCommand {
System.out.printf("clone group offset success. srcGroup[%s], destGroup=[%s], topic[%s]",
srcGroup, destGroup, topic);
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/offset/GetConsumerStatusCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/offset/GetConsumerStatusCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/offset/GetConsumerStatusCommand.java
index 758b78f..be5ec61 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/offset/GetConsumerStatusCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/offset/GetConsumerStatusCommand.java
@@ -26,6 +26,7 @@ import org.apache.rocketmq.common.message.MessageQueue;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class GetConsumerStatusCommand implements SubCommand {
@Override
@@ -56,7 +57,7 @@ public class GetConsumerStatusCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
try {
@@ -92,7 +93,7 @@ public class GetConsumerStatusCommand implements SubCommand {
}
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/offset/ResetOffsetByTimeCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/offset/ResetOffsetByTimeCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/offset/ResetOffsetByTimeCommand.java
index bc0230a..3f2bc1b 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/offset/ResetOffsetByTimeCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/offset/ResetOffsetByTimeCommand.java
@@ -22,25 +22,16 @@ import java.util.Map;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
-import org.apache.commons.cli.PosixParser;
import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.common.UtilAll;
import org.apache.rocketmq.common.message.MessageQueue;
import org.apache.rocketmq.common.protocol.ResponseCode;
import org.apache.rocketmq.remoting.RPCHook;
-import org.apache.rocketmq.srvutil.ServerUtil;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class ResetOffsetByTimeCommand implements SubCommand {
- public static void main(String[] args) {
- ResetOffsetByTimeCommand cmd = new ResetOffsetByTimeCommand();
- Options options = ServerUtil.buildCommandlineOptions(new Options());
- String[] subargs = new String[] {"-t Jodie_rest_test", "-g CID_Jodie_rest_test", "-s -1", "-f true"};
- final CommandLine commandLine =
- ServerUtil.parseCmdLine("mqadmin " + cmd.commandName(), subargs, cmd.buildCommandlineOptions(options), new PosixParser());
- cmd.execute(commandLine, options, null);
- }
@Override
public String commandName() {
@@ -77,7 +68,7 @@ public class ResetOffsetByTimeCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
try {
@@ -134,7 +125,7 @@ public class ResetOffsetByTimeCommand implements SubCommand {
entry.getValue());
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/offset/ResetOffsetByTimeOldCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/offset/ResetOffsetByTimeOldCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/offset/ResetOffsetByTimeOldCommand.java
index c505d8e..0c02d8f 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/offset/ResetOffsetByTimeOldCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/offset/ResetOffsetByTimeOldCommand.java
@@ -30,9 +30,11 @@ import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.remoting.exception.RemotingException;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class ResetOffsetByTimeOldCommand implements SubCommand {
- public static void resetOffset(DefaultMQAdminExt defaultMQAdminExt, String consumerGroup, String topic, long timestamp, boolean force,
+ public static void resetOffset(DefaultMQAdminExt defaultMQAdminExt, String consumerGroup, String topic,
+ long timestamp, boolean force,
String timeStampStr) throws RemotingException, MQBrokerException, InterruptedException, MQClientException {
List<RollbackStats> rollbackStatsList = defaultMQAdminExt.resetOffsetByTimestampOld(consumerGroup, topic, timestamp, force);
System.out.printf(
@@ -91,7 +93,7 @@ public class ResetOffsetByTimeOldCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
try {
@@ -121,7 +123,7 @@ public class ResetOffsetByTimeOldCommand implements SubCommand {
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/stats/StatsAllSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/stats/StatsAllSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/stats/StatsAllSubCommand.java
index 9f7625b..802d9c7 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/stats/StatsAllSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/stats/StatsAllSubCommand.java
@@ -35,6 +35,7 @@ import org.apache.rocketmq.remoting.exception.RemotingException;
import org.apache.rocketmq.store.stats.BrokerStatsManager;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class StatsAllSubCommand implements SubCommand {
public static void printTopicDetail(final DefaultMQAdminExt admin, final String topic, final boolean activeTopic)
@@ -160,7 +161,7 @@ public class StatsAllSubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
@@ -198,7 +199,7 @@ public class StatsAllSubCommand implements SubCommand {
}
}
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
defaultMQAdminExt.shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/39409245/tools/src/main/java/org/apache/rocketmq/tools/command/topic/AllocateMQSubCommand.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/topic/AllocateMQSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/topic/AllocateMQSubCommand.java
index 22e70c9..a9b9ab0 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/topic/AllocateMQSubCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/topic/AllocateMQSubCommand.java
@@ -31,6 +31,7 @@ import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.remoting.protocol.RemotingSerializable;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
public class AllocateMQSubCommand implements SubCommand {
@Override
@@ -57,7 +58,7 @@ public class AllocateMQSubCommand implements SubCommand {
}
@Override
- public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) {
+ public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
DefaultMQAdminExt adminExt = new DefaultMQAdminExt(rpcHook);
adminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
try {
@@ -86,7 +87,7 @@ public class AllocateMQSubCommand implements SubCommand {
final String json = RemotingSerializable.toJson(rr, false);
System.out.printf("%s%n", json);
} catch (Exception e) {
- e.printStackTrace();
+ throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
} finally {
adminExt.shutdown();
}