mirror of
https://github.com/apache/rocketmq.git
synced 2026-09-24 16:04:00 +08:00
[ISSUE #3949] v2 support
This commit is contained in:
+11
-1
@@ -31,6 +31,7 @@ import org.apache.rocketmq.common.protocol.heartbeat.SubscriptionData;
|
||||
import org.apache.rocketmq.proxy.common.ProxyContext;
|
||||
import org.apache.rocketmq.proxy.config.ConfigurationManager;
|
||||
import org.apache.rocketmq.proxy.grpc.v2.AbstractMessingActivity;
|
||||
import org.apache.rocketmq.proxy.grpc.v2.GrpcContextConstants;
|
||||
import org.apache.rocketmq.proxy.grpc.v2.common.GrpcClientSettingsManager;
|
||||
import org.apache.rocketmq.proxy.grpc.v2.common.GrpcConverter;
|
||||
import org.apache.rocketmq.proxy.processor.MessagingProcessor;
|
||||
@@ -65,6 +66,15 @@ public class ReceiveMessageActivity extends AbstractMessingActivity {
|
||||
writer.write(proxyContext, Code.MESSAGE_NOT_FOUND, "no new message");
|
||||
return;
|
||||
}
|
||||
|
||||
long invisibleTime = Durations.toMillis(request.getInvisibleDuration());
|
||||
if (request.getAutoRenew()) {
|
||||
invisibleTime = Durations.toMillis(
|
||||
this.grpcClientSettingsManager.getClientSettings(proxyContext.getVal(GrpcContextConstants.CLIENT_ID))
|
||||
.getSubscription().getLongPollingTimeout()
|
||||
);
|
||||
}
|
||||
|
||||
String topic = GrpcConverter.wrapResourceWithNamespace(request.getMessageQueue().getTopic());
|
||||
String group = GrpcConverter.wrapResourceWithNamespace(request.getGroup());
|
||||
FilterExpression filterExpression = request.getFilterExpression();
|
||||
@@ -85,7 +95,7 @@ public class ReceiveMessageActivity extends AbstractMessingActivity {
|
||||
group,
|
||||
topic,
|
||||
request.getBatchSize(),
|
||||
Durations.toMillis(request.getInvisibleDuration()),
|
||||
invisibleTime,
|
||||
pollTime,
|
||||
ConsumeInitMode.MAX,
|
||||
subscriptionData,
|
||||
|
||||
+1
-1
@@ -56,7 +56,7 @@ public class ReceiveMessageResponseStreamWriter {
|
||||
case FOUND:
|
||||
if (messageFoundList.isEmpty()) {
|
||||
streamObserver.onNext(ReceiveMessageResponse.newBuilder()
|
||||
.setStatus(ResponseBuilder.buildStatus(Code.MESSAGE_NOT_FOUND, "no new message"))
|
||||
.setStatus(ResponseBuilder.buildStatus(Code.MESSAGE_NOT_FOUND, "no match message"))
|
||||
.build());
|
||||
} else {
|
||||
streamObserver.onNext(ReceiveMessageResponse.newBuilder()
|
||||
|
||||
Reference in New Issue
Block a user