noxdafox / rabbitmq-message-deduplication

RabbitMQ Plugin for filtering message duplicates
Mozilla Public License 2.0
277 stars 34 forks source link

Exchange level doesn't work but queue level does. What's differrence on using these two? #93

Closed OliverLiangx closed 1 year ago

OliverLiangx commented 1 year ago

Hey, firstly, thanks for this great plugin, it really help me out in this situation. But I just find another problem when using it. I used to set queue level deduplication. But recently I found many queues blocked and it caused rabbitmq crush down. Then I wonder whether queue level can not set cache-ttl and cache that cause it. I try to use this plugin on exchange level. There below are my codes: add header on exchange. private static final Map<String, Object> DEFAULT_EXCHANGE_DECLARE_ARGS = Map.ofEntries( Map.entry("x-message-deduplication", Boolean.TRUE), Map.entry("x-cache-size", 10000), Map.entry("x-cache-ttl", 3 * 1000)); channel.exchangeDeclare(exchangeName, exchangeType, false, false DEFAULT_EXCHANGE_DECLARE_ARGS)

add header on message headerMap.put("x-deduplication-header", messageId); But it doesn't work out on deduplication meesage. The same config works when I set header "x-message-deduplication" when declare a queue. Hope to see your soon reply. Thank you.