Вы можете реализовать все перечисленные вами семантики доставки сообщений, включая, по крайней мере, один раз, самое большее один раз и эффективно один раз.
По крайней мере, один раз вы должны использовать эксклюзивный тип подписки, чтобы гарантировать, что только потребитель получает сообщение, и чтобы ваш потребитель подтверждал все полученные сообщения независимо от того, происходит исключение или нет.
Для эффективного однократного использования вы должны использовать эксклюзивный тип подписки, чтобы гарантировать, что сообщение получит только потребитель, и отправлять подтверждение только в том случае, если вы можете успешно обработать сообщение (т. Е. Без исключений и т. Д. c). В противном случае вы отрицательно подтвердит сообщение, чтобы оно было доставлено.
Все другие сочетания поведения подпадают под гарантию доставки минимум один раз.
https://pulsar.apache.org/docs/en/2.5.1/concepts-messaging/#consumers