diff --git a/build/package.nuspec b/build/package.nuspec
index 50cd021..d883397 100644
--- a/build/package.nuspec
+++ b/build/package.nuspec
@@ -15,7 +15,7 @@
false
rabbitmq chinchilla
-
+
diff --git a/src/Chinchilla.Integration/Chinchilla.Integration.csproj b/src/Chinchilla.Integration/Chinchilla.Integration.csproj
index 56a3700..7f124ec 100644
--- a/src/Chinchilla.Integration/Chinchilla.Integration.csproj
+++ b/src/Chinchilla.Integration/Chinchilla.Integration.csproj
@@ -43,8 +43,8 @@
..\packages\NUnit.3.5.0\lib\net45\nunit.framework.dll
True
-
- ..\packages\RabbitMQ.Client.3.6.0\lib\net45\RabbitMQ.Client.dll
+
+ ..\packages\RabbitMQ.Client.4.1.1\lib\net451\RabbitMQ.Client.dll
True
diff --git a/src/Chinchilla.Integration/packages.config b/src/Chinchilla.Integration/packages.config
index d36ddb1..3121792 100644
--- a/src/Chinchilla.Integration/packages.config
+++ b/src/Chinchilla.Integration/packages.config
@@ -5,5 +5,5 @@
-
+
\ No newline at end of file
diff --git a/src/Chinchilla.Specifications/Chinchilla.Specifications.csproj b/src/Chinchilla.Specifications/Chinchilla.Specifications.csproj
index 49b5f35..eb5a13b 100644
--- a/src/Chinchilla.Specifications/Chinchilla.Specifications.csproj
+++ b/src/Chinchilla.Specifications/Chinchilla.Specifications.csproj
@@ -61,8 +61,8 @@
..\packages\Moq.4.5.29\lib\net45\Moq.dll
True
-
- ..\packages\RabbitMQ.Client.3.6.0\lib\net45\RabbitMQ.Client.dll
+
+ ..\packages\RabbitMQ.Client.4.1.1\lib\net451\RabbitMQ.Client.dll
True
diff --git a/src/Chinchilla.Specifications/packages.config b/src/Chinchilla.Specifications/packages.config
index d8a814c..cb7bde7 100644
--- a/src/Chinchilla.Specifications/packages.config
+++ b/src/Chinchilla.Specifications/packages.config
@@ -6,5 +6,5 @@
-
+
\ No newline at end of file
diff --git a/src/Chinchilla/Chinchilla.csproj b/src/Chinchilla/Chinchilla.csproj
index 33e341e..67bafef 100644
--- a/src/Chinchilla/Chinchilla.csproj
+++ b/src/Chinchilla/Chinchilla.csproj
@@ -35,8 +35,8 @@
false
-
- ..\packages\RabbitMQ.Client.3.6.0\lib\net45\RabbitMQ.Client.dll
+
+ ..\packages\RabbitMQ.Client.4.1.1\lib\net451\RabbitMQ.Client.dll
True
diff --git a/src/Chinchilla/Topologies/Model/TopologyBuilder.cs b/src/Chinchilla/Topologies/Model/TopologyBuilder.cs
index 1467c8d..882e86f 100644
--- a/src/Chinchilla/Topologies/Model/TopologyBuilder.cs
+++ b/src/Chinchilla/Topologies/Model/TopologyBuilder.cs
@@ -31,38 +31,30 @@ public void Visit(IQueue queue)
{
VisitOnce(queue, () =>
{
- if (queue.HasName)
- {
- var args = new Dictionary();
-
- if (queue.QueueAutoExpire.HasValue)
- {
- args.Add("x-expires", queue.QueueAutoExpire.Value.TotalMilliseconds);
- }
+ var args = new Dictionary();
- if (!string.IsNullOrEmpty(queue.DeadLetterExchange))
- {
- args.Add("x-dead-letter-exchange", queue.DeadLetterExchange);
- }
-
- if (queue.MessageTimeToLive.HasValue)
- {
- args.Add("x-message-ttl", (int)queue.MessageTimeToLive.Value.TotalMilliseconds);
- }
+ if (queue.QueueAutoExpire.HasValue)
+ {
+ args.Add("x-expires", queue.QueueAutoExpire.Value.TotalMilliseconds);
+ }
- model.Execute(m =>
- m.QueueDeclare(
- queue.Name,
- queue.Durability == Durability.Durable, // durable
- queue.IsExclusive, // exclusive
- queue.IsAutoDelete, // auto-delete
- args));
+ if (!string.IsNullOrEmpty(queue.DeadLetterExchange))
+ {
+ args.Add("x-dead-letter-exchange", queue.DeadLetterExchange);
}
- else
+
+ if (queue.MessageTimeToLive.HasValue)
{
- var declared = model.Execute(m => m.QueueDeclare());
- queue.Name = declared.QueueName;
+ args.Add("x-message-ttl", (int)queue.MessageTimeToLive.Value.TotalMilliseconds);
}
+
+ model.Execute(m =>
+ m.QueueDeclare(
+ queue.HasName ? queue.Name : "",
+ queue.Durability == Durability.Durable, // durable
+ queue.IsExclusive, // exclusive
+ queue.IsAutoDelete, // auto-delete
+ args));
});
}
@@ -94,7 +86,8 @@ public void Visit(IBinding binding)
{
model.Execute(m =>
{
- Action bindFunction;
+ Action> bindFunction;
+
if (binding.Bindable is IQueue)
{
bindFunction = m.QueueBind;
@@ -103,19 +96,19 @@ public void Visit(IBinding binding)
{
// Reverse from/to for binding exchanges, because the parameters of ExchangeBind
// don't match QueueBind
- bindFunction = (from, to, keys) => m.ExchangeBind(to, from, keys);
+ bindFunction = (from, to, keys, args) => m.ExchangeBind(to, from, keys, args);
}
if (binding.RoutingKeys.Any())
{
foreach (var key in binding.RoutingKeys)
{
- bindFunction(binding.Bindable.Name, binding.Exchange.Name, key);
+ bindFunction(binding.Bindable.Name, binding.Exchange.Name, key, null);
}
}
else
{
- bindFunction(binding.Bindable.Name, binding.Exchange.Name, "#");
+ bindFunction(binding.Bindable.Name, binding.Exchange.Name, "#", null);
}
});
diff --git a/src/Chinchilla/packages.config b/src/Chinchilla/packages.config
index c6d8b60..bfa7fce 100644
--- a/src/Chinchilla/packages.config
+++ b/src/Chinchilla/packages.config
@@ -1,5 +1,5 @@
-
+
\ No newline at end of file