in ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/OrderConsumerImpl.java [88:112]
public ConsumeOrderlyStatus consumeMessage(List<MessageExt> arg0, ConsumeOrderlyContext arg1) {
MessageExt msgRMQ = arg0.get(0);
Message msg = ONSUtil.msgConvert(msgRMQ);
msg.setMsgID(msgRMQ.getMsgId());
MessageOrderListener listener = OrderConsumerImpl.this.subscribeTable.get(msg.getTopic());
if (null == listener) {
throw new ONSClientException("MessageOrderListener is null");
}
final ConsumeOrderContext context = new ConsumeOrderContext();
OrderAction action = listener.consume(msg, context);
if (action != null) {
switch (action) {
case Success:
return ConsumeOrderlyStatus.SUCCESS;
case Suspend:
return ConsumeOrderlyStatus.SUSPEND_CURRENT_QUEUE_A_MOMENT;
default:
break;
}
}
return ConsumeOrderlyStatus.SUSPEND_CURRENT_QUEUE_A_MOMENT;
}