You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The queue is created with the parameter set to PersistentQueue, the pulsar topic is fetched at creation, Through the topic - > managedLedger - > cursor, in a similar (cursor.asyncFindNewestMatching) API
We need a regular task to keep checking and, according to the rabbitmq ttl definition, we only need to check if the first item has expired.
According to the definition of a dead letter queue, messages need to be sent to a dead letter queue when they expire. The parameters of the dead letter queue are maintained by the AmqpQueue and can be sent directly to the dead letter queue through the scheduled tasks in 2 (if configured by the user, otherwise deleted directly from the queue).
When both a per-queue and a per-message TTL are specified, the lower value between the two will be chosen.
Implementation of the dead letter queue:
1.The message is negatively acknowledged by a consumer using basic.reject or basic.nack with requeue parameter set to false.
2.The message expires due to per-message TTL; or
3.The message is dropped because its queue exceeded a length limit
For 1: Implement api semantics.
For 2: As described above.
For 3:
Maximum number of messages can be set by supplying the x-max-length queue declaration argument with a non-negative integer value.
Maximum length in bytes can be set by supplying the x-max-length-bytes queue declaration argument with a non-negative integer value.
These two parameters are available in AmqpQueue,maybe we can do this with backlog.
The text was updated successfully, but these errors were encountered:
reference:
1.https://www.rabbitmq.com/ttl.html
2.https://www.rabbitmq.com/dlx.html
implementation:
Implementation of the dead letter queue:
1.The message is negatively acknowledged by a consumer using basic.reject or basic.nack with requeue parameter set to false.
2.The message expires due to per-message TTL; or
3.The message is dropped because its queue exceeded a length limit
For 1: Implement api semantics.
For 2: As described above.
For 3:
Maximum number of messages can be set by supplying the x-max-length queue declaration argument with a non-negative integer value.
Maximum length in bytes can be set by supplying the x-max-length-bytes queue declaration argument with a non-negative integer value.
These two parameters are available in AmqpQueue,maybe we can do this with backlog.
The text was updated successfully, but these errors were encountered: