@@ -91,7 +91,7 @@ defmodule RabbitMQ.ExchangeTypeMessageDeduplication do
9191 :ok
9292 end
9393
94- def create ( _tx , exchange ( name: name , arguments: args ) ) do
94+ def create ( :transaction , exchange ( name: name , arguments: args ) ) do
9595 cache = cache_name ( name )
9696 ttl = rabbitmq_keyfind ( args , "x-cache-ttl" )
9797 size = rabbitmq_keyfind ( args , "x-cache-size" )
@@ -109,16 +109,19 @@ defmodule RabbitMQ.ExchangeTypeMessageDeduplication do
109109 end
110110 end
111111
112- def delete ( _tx , exchange ( name: name ) , _bs ) do
112+ def create ( :none , _ex ) do
113+ :ok
114+ end
115+
116+ def delete ( :transaction , exchange ( name: name ) , _bs ) do
113117 cache = cache_name ( name )
114118
115- # It seems the deletion request comes duplicated
116- case RabbitMQ.Cache . process ( cache ) do
117- pid when is_pid ( pid ) ->
118- :ok = RabbitMQ.Cache . drop ( cache )
119- RabbitMQ.Supervisor . terminate_child ( pid )
120- nil -> :ok
121- end
119+ :ok = RabbitMQ.Cache . drop ( cache )
120+ cache |> RabbitMQ.Cache . process ( ) |> RabbitMQ.Supervisor . terminate_child ( )
121+ end
122+
123+ def delete ( :none , _ex , _bs ) do
124+ :ok
122125 end
123126
124127 def policy_changed ( _x1 , _x2 ) do
0 commit comments