apache / apache/rocketmq-spring

手动触发重新消费, 不走ConsumeMessageHook

Open
#589 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
2.3k
Forks
943
PR merge metrics
No merged PRs in 30d

Description

手动触发重新消费消息
org\apache\rocketmq\client\impl\ClientRemotingProcessor.java

```
@Override
public RemotingCommand processRequest(ChannelHandlerContext ctx,
RemotingCommand request) throws RemotingCommandException {
switch (request.getCode()) {
case RequestCode.CHECK_TRANSACTION_STATE:
return this.checkTransactionState(ctx, request);
case RequestCode.NOTIFY_CONSUMER_IDS_CHANGED:
return this.notifyConsumerIdsChanged(ctx, request);
case RequestCode.RESET_CONSUMER_CLIENT_OFFSET:
return this.resetOffset(ctx, request);
case RequestCode.GET_CONSUMER_STATUS_FROM_CLIENT:
return this.getConsumeStatus(ctx, request);

case RequestCode.GET_CONSUMER_RUNNING_INFO:
return this.getConsumerRunningInfo(ctx, request);

case RequestCode.CONSUME_MESSAGE_DIRECTLY:
return this.consumeMessageDirectly(ctx, request);

case RequestCode.PUSH_REPLY_MESSAGE_TO_CLIENT:
return this.receiveReplyMessage(ctx, request);
default:
break;
}
return null;
}
```
此方法consumeMessageDirectly, 源码内没有处理ConsumeMessageHook

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in org/apache/rocketmq/client/impl/ClientRemotingProcessor.java and trace the consumeMessageDirectly(ctx, request) entry point. Compare its handling with the normal consumer path, focusing on where ConsumeMessageHook is invoked. Done means manually triggered message re-consumption also passes through ConsumeMessageHook; verify the behavior with the repository's relevant tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.