You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pulsar.apache.org by GitBox <gi...@apache.org> on 2022/10/10 04:00:37 UTC

[GitHub] [pulsar] startjava edited a comment on the discussion: what time merge about this version ?

GitHub user startjava edited a comment on the discussion: what time merge about this version ?

> `pulsarAdmin.topics().getStats("").getSubscriptions().get("").getConsumers().get(index).getUnackedMessages()`

producer:
```
    @RequestMapping("sendMessage2")
    public String sendMessage2() throws IOException, PulsarAdminException {
        for (int i = 1; i <= 5; i++) {
            String messageValue = "消息" + i;
            producer2.send(messageValue);
        }
        return "成功生产2";
    }
```
    
consumer:
```
@Component
public class MyMessageListener2 implements MessageListener {
    @Override
    public void received(Consumer consumer, Message msg) {
        try {
            String messageString = new String(msg.getData());
            if (messageString.equals("消息5")) {
                consumer.acknowledgeCumulative(msg);
                System.out.println("执行了acknowledgeCumulative");
            }
        } catch (PulsarClientException e) {
            throw new RuntimeException(e);
        }
    }
}
```

getinfo:
```
    @RequestMapping("getUnAckMsgCount")
    public String getUnAckMsgCount() throws PulsarClientException, PulsarAdminException {
        {
            List<? extends ConsumerStats> consumers = pulsarAdmin.topics().getStats(myTopic1).getSubscriptions().get(myTopic1_subscriptionName).getConsumers();
            for (int i = 0; i < consumers.size(); i++) {
                ConsumerStats consumerStats = consumers.get(i);
                System.out.println(myTopic1 + " getConsumerName=" + consumerStats.getConsumerName() + " getUnackedMessages=" + consumerStats.getUnackedMessages());
            }
        }
        System.out.println();
        {
            List<? extends ConsumerStats> consumers = pulsarAdmin.topics().getStats(myTopic2).getSubscriptions().get(myTopic2_subscriptionName).getConsumers();
            for (int i = 0; i < consumers.size(); i++) {
                ConsumerStats consumerStats = consumers.get(i);
                System.out.println(myTopic2 + " getConsumerName=" + consumerStats.getConsumerName() + " getUnackedMessages=" + consumerStats.getUnackedMessages());
            }
        }
        return "成功获得";
    }
}
```

result:
```
myTopic1 getConsumerName=消费者1 getUnackedMessages=0

myTopic2 getConsumerName=消费者2 getUnackedMessages=0

```
run acknowledge or acknowledgeCumulative method , getUnackedMessages result both 0 .

why ?? thank you !



GitHub link: https://github.com/apache/pulsar/discussions/17978#discussioncomment-3835999

----
This is an automatically sent email for dev@pulsar.apache.org.
To unsubscribe, please send an email to: dev-unsubscribe@pulsar.apache.org