From 99ce40a72382dd5b7ecb5eb5717b8daf84a90682 Mon Sep 17 00:00:00 2001 From: lindzh Date: Fri, 26 May 2017 15:28:28 +0800 Subject: [PATCH] [ROCKETMQ-189] Misleading tip on consumeTimestamp and wrong consumeTimestamp exception message closes apache/incubator-rocketmq#97 --- .../client/impl/consumer/DefaultMQPushConsumerImpl.java | 8 ++++---- .../rocketmq/client/impl/consumer/RebalancePushImpl.java | 2 +- .../src/main/java/org/apache/rocketmq/common/UtilAll.java | 2 +- .../org/apache/rocketmq/example/simple/PushConsumer.java | 2 ++ 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultMQPushConsumerImpl.java b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultMQPushConsumerImpl.java index 2cafe29a..87679642 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultMQPushConsumerImpl.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultMQPushConsumerImpl.java @@ -655,12 +655,12 @@ public class DefaultMQPushConsumerImpl implements MQConsumerInner { null); } - Date dt = UtilAll.parseDate(this.defaultMQPushConsumer.getConsumeTimestamp(), UtilAll.YYYY_MMDD_HHMMSS); + Date dt = UtilAll.parseDate(this.defaultMQPushConsumer.getConsumeTimestamp(), UtilAll.YYYYMMDDHHMMSS); if (null == dt) { throw new MQClientException( - "consumeTimestamp is invalid, YYYY_MMDD_HHMMSS" - + FAQUrl.suggestTodo(FAQUrl.CLIENT_PARAMETER_CHECK_URL), - null); + "consumeTimestamp is invalid, the valid format is yyyyMMddHHmmss,but received " + + this.defaultMQPushConsumer.getConsumeTimestamp() + + " " + FAQUrl.suggestTodo(FAQUrl.CLIENT_PARAMETER_CHECK_URL), null); } // allocateMessageQueueStrategy diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/RebalancePushImpl.java b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/RebalancePushImpl.java index 509c9a46..112bceeb 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/RebalancePushImpl.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/RebalancePushImpl.java @@ -171,7 +171,7 @@ public class RebalancePushImpl extends RebalanceImpl { } else { try { long timestamp = UtilAll.parseDate(this.defaultMQPushConsumerImpl.getDefaultMQPushConsumer().getConsumeTimestamp(), - UtilAll.YYYY_MMDD_HHMMSS).getTime(); + UtilAll.YYYYMMDDHHMMSS).getTime(); result = this.mQClientFactory.getMQAdminImpl().searchOffset(mq, timestamp); } catch (MQClientException e) { result = -1; diff --git a/common/src/main/java/org/apache/rocketmq/common/UtilAll.java b/common/src/main/java/org/apache/rocketmq/common/UtilAll.java index 016da0b4..e9d926fe 100644 --- a/common/src/main/java/org/apache/rocketmq/common/UtilAll.java +++ b/common/src/main/java/org/apache/rocketmq/common/UtilAll.java @@ -41,7 +41,7 @@ import org.apache.rocketmq.remoting.common.RemotingHelper; public class UtilAll { public static final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; public static final String YYYY_MM_DD_HH_MM_SS_SSS = "yyyy-MM-dd#HH:mm:ss:SSS"; - public static final String YYYY_MMDD_HHMMSS = "yyyyMMddHHmmss"; + public static final String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; final static char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray(); public static int getPid() { diff --git a/example/src/main/java/org/apache/rocketmq/example/simple/PushConsumer.java b/example/src/main/java/org/apache/rocketmq/example/simple/PushConsumer.java index d03c2c5a..c8252d03 100644 --- a/example/src/main/java/org/apache/rocketmq/example/simple/PushConsumer.java +++ b/example/src/main/java/org/apache/rocketmq/example/simple/PushConsumer.java @@ -31,6 +31,8 @@ public class PushConsumer { DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("CID_JODIE_1"); consumer.subscribe("Jodie_topic_1023", "*"); consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET); + //wrong time format 2017_0422_221800 + consumer.setConsumeTimestamp("20170422221800"); consumer.registerMessageListener(new MessageListenerConcurrently() { /** -- GitLab