diff --git a/src/protocol/ConsumerRunningInfo.cpp b/src/protocol/ConsumerRunningInfo.cpp index 08e5b2c25..27538aab0 100644 --- a/src/protocol/ConsumerRunningInfo.cpp +++ b/src/protocol/ConsumerRunningInfo.cpp @@ -104,16 +104,18 @@ string ConsumerRunningInfo::encode() { Json::FastWriter fastwrite; string finals = fastwrite.write(root); string key = "\"mqTable\":"; - key.append("{"); + key.append("["); for (map::iterator it = mqTable.begin(); it != mqTable.end(); ++it) { + key.append("["); key.append((it->first).toJson().toStyledString()); key.erase(key.end() - 1); - key.append(":"); + key.append(","); key.append((it->second).toJson().toStyledString()); + key.append("]"); key.append(","); } key.erase(key.end() - 1); - key.append("}"); + key.append("]"); // insert mqTable to final string key.append(","); diff --git a/src/protocol/HeartbeatData.h b/src/protocol/HeartbeatData.h index 2bd4aa71a..7ebdfc45b 100644 --- a/src/protocol/HeartbeatData.h +++ b/src/protocol/HeartbeatData.h @@ -50,9 +50,51 @@ class ConsumerData { Json::Value toJson() const { Json::Value outJson; outJson["groupName"] = groupName; - outJson["consumeFromWhere"] = consumeFromWhere; - outJson["consumeType"] = consumeType; - outJson["messageModel"] = messageModel; + + switch (consumeFromWhere) { + case CONSUME_FROM_FIRST_OFFSET: + outJson["consumeFromWhere"] = "CONSUME_FROM_FIRST_OFFSET"; + break; + case CONSUME_FROM_TIMESTAMP: + outJson["consumeFromWhere"] = "CONSUME_FROM_TIMESTAMP"; + break; + case CONSUME_FROM_LAST_OFFSET: + outJson["consumeFromWhere"] = "CONSUME_FROM_LAST_OFFSET"; + break; + case CONSUME_FROM_LAST_OFFSET_AND_FROM_MIN_WHEN_BOOT_FIRST: + outJson["consumeFromWhere"] = "CONSUME_FROM_LAST_OFFSET_AND_FROM_MIN_WHEN_BOOT_FIRST"; + break; + case CONSUME_FROM_MAX_OFFSET: + outJson["consumeFromWhere"] = "CONSUME_FROM_MAX_OFFSET"; + break; + case CONSUME_FROM_MIN_OFFSET: + outJson["consumeFromWhere"] = "CONSUME_FROM_MIN_OFFSET"; + break; + default: + break; + } + + switch (consumeType) { + case CONSUME_ACTIVELY: + outJson["consumeType"] = "CONSUME_ACTIVELY"; + break; + case CONSUME_PASSIVELY: + outJson["consumeType"] = "CONSUME_PASSIVELY"; + break; + default: + break; + } + + switch (messageModel) { + case CLUSTERING: + outJson["messageModel"] = "CLUSTERING"; + break; + case BROADCASTING: + outJson["messageModel"] = "BROADCASTING"; + break; + default: + break; + } vector::const_iterator it = subscriptionDataSet.begin(); for (; it != subscriptionDataSet.end(); it++) {