Skip to content

Commit c6da7ad

Browse files
committed
issue #91, exchange: implement policy_changed callback
Signed-off-by: Matteo Cafasso <[email protected]>
1 parent b752065 commit c6da7ad

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

lib/rabbitmq_message_deduplication/rabbit_message_deduplication_exchange.ex

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,8 +175,16 @@ defmodule RabbitMQMessageDeduplication.Exchange do
175175
end
176176

177177
@impl :rabbit_exchange_type
178-
def policy_changed(_x1, _x2) do
179-
:ok
178+
def policy_changed(_old, exchange(name: name, policy: policy)) do
179+
cache = Common.cache_name(name)
180+
181+
for policy_definition <- policy[:definition] do
182+
case policy_definition do
183+
{"x-cache-size", value} -> Cache.reconfigure(cache, :limit, value)
184+
{"x-cache-ttl", value} -> Cache.reconfigure(cache, :default_ttl, value)
185+
{"x-cache-persistence", value} -> Cache.reconfigure(cache, :persistence, value)
186+
end
187+
end
180188
end
181189

182190
@impl :rabbit_exchange_type

0 commit comments

Comments
 (0)