/*** 获取消息结果
* 所有的参数都是从requestheader中获取的。也就是说从consumer client端传递过来的。
*@paramgroup
*@paramtopic
*@paramqueueId
*@paramoffset
*@parammaxMsgNums
*@paramsubscriptionData
*@return
*/
public GetMessageResult getMessage(final String group, final String topic, final int queueId, final long offset, final intmaxMsgNums,finalSubscriptionData subscriptionData) {if (this.shutdown) {
log.warn("message store has shutdown, so getMessage is forbidden");return null;
}if (!this.runningFlags.isReadable()) {
log.warn("message store is not readable, so getMessage is forbidden " + this.runningFlags.getFlagBits());return null;
}long beginTime = this.getSystemClock().now();//枚举变量,取消息结果
GetMessageStatus status =GetMessageStatus.NO_MESSAGE_IN_QUEUE;//当被过滤后,返回下一次