Skip to content

Commit 285fa35

Browse files
Merge pull request MarimerLLC#1848 from danielmartind/update-rabbitmq
Fix breaking change from RabbitMq v6
2 parents 8f44851 + 3cd3f9d commit 285fa35

File tree

4 files changed

+23
-14
lines changed

4 files changed

+23
-14
lines changed

NuGet/Definition/Csla.Channels.RabbitMq.NuSpec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Data portal channel using RabbitMQ for transport.
2323
<dependencies>
2424
<group targetFramework="netstandard2.1">
2525
<dependency id="Csla" version="[4.6.3-Beta10]" />
26-
<dependency id="RabbitMQ.Client" version="5.1.2" />
26+
<dependency id="RabbitMQ.Client" version="6.2.1" />
2727
</group>
2828
</dependencies>
2929
</metadata>

Source/Csla.Channels.RabbitMq/Csla.Channels.RabbitMq.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
</PropertyGroup>
2626

2727
<ItemGroup>
28-
<PackageReference Include="RabbitMQ.Client" Version="5.1.2" />
29-
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All"/>
28+
<PackageReference Include="RabbitMQ.Client" Version="6.2.1" />
29+
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
3030
</ItemGroup>
3131

3232
<ItemGroup>

Source/Csla.Channels.RabbitMq/ProxyListener.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@ internal class ProxyListener : IDisposable
2020
/// Gets or sets the connection to the RabbitMQ service.
2121
/// </summary>
2222
protected IConnection Connection { get; set; }
23+
2324
/// <summary>
2425
/// Gets or sets the channel (model) for RabbitMQ.
2526
/// </summary>
2627
protected IModel Channel { get; set; }
28+
2729
/// <summary>
2830
/// Gets or sets the queue for inbound messages
2931
/// and replies.
@@ -34,7 +36,9 @@ internal class ProxyListener : IDisposable
3436

3537
private static ProxyListener _instance;
3638

37-
private ProxyListener() { }
39+
private ProxyListener()
40+
{
41+
}
3842

3943
public static ProxyListener GetListener(Uri queueUri)
4044
{
@@ -113,7 +117,7 @@ public void StartListening()
113117
Console.WriteLine($"Received reply for {ea.BasicProperties.CorrelationId}");
114118
if (Wip.WorkInProgress.TryRemove(ea.BasicProperties.CorrelationId, out WipItem item))
115119
{
116-
item.Response = ea.Body;
120+
item.Response = ea.Body.ToArray();
117121
item.ResetEvent.Set();
118122
}
119123
else
@@ -148,4 +152,4 @@ public void Dispose()
148152
IsListening = false;
149153
}
150154
}
151-
}
155+
}

Source/Csla.Channels.RabbitMq/RabbitMqPortal.cs

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
// <summary>Exposes server-side DataPortal functionality through RabbitMQ</summary>
77
//-----------------------------------------------------------------------
88
using System;
9-
using System.IO;
109
using System.Security.Principal;
1110
using System.Threading.Tasks;
1211
using Csla.Core;
@@ -27,9 +26,11 @@ public class RabbitMqPortal : IDisposable
2726
/// Gets the URI for the data portal service.
2827
/// </summary>
2928
public string DataPortalUrl { get; private set; }
29+
3030
private IConnection Connection;
3131
private IModel Channel;
3232
private string DataPortalQueueName;
33+
3334
/// <summary>
3435
/// Gets or sets the timeout for network
3536
/// operations in seconds (default is 30 seconds).
@@ -91,16 +92,16 @@ public void StartListening()
9192
InitializeRabbitMQ();
9293
Channel.QueueDeclare(
9394
queue: DataPortalQueueName,
94-
durable: false,
95-
exclusive: false,
96-
autoDelete: false,
95+
durable: false,
96+
exclusive: false,
97+
autoDelete: false,
9798
arguments: null);
9899

99100
var consumer = new EventingBasicConsumer(Channel);
100101
consumer.Received += (model, ea) =>
101102
{
102103
Console.WriteLine($"Received {ea.BasicProperties.Type} for {ea.BasicProperties.CorrelationId} from {ea.BasicProperties.ReplyTo}");
103-
InvokePortal(ea, ea.Body);
104+
InvokePortal(ea, ea.Body.ToArray());
104105
};
105106
Console.WriteLine($"Listening on queue {DataPortalQueueName}");
106107
Channel.BasicConsume(queue: DataPortalQueueName, autoAck: true, consumer: consumer);
@@ -159,15 +160,19 @@ private async Task<HttpResponse> CallPortal(string operation, object request)
159160
case "create":
160161
result = await Create((CriteriaRequest)request).ConfigureAwait(false);
161162
break;
163+
162164
case "fetch":
163165
result = await Fetch((CriteriaRequest)request).ConfigureAwait(false);
164166
break;
167+
165168
case "update":
166169
result = await Update((UpdateRequest)request).ConfigureAwait(false);
167170
break;
171+
168172
case "delete":
169173
result = await Delete((CriteriaRequest)request).ConfigureAwait(false);
170174
break;
175+
171176
default:
172177
throw new InvalidOperationException(operation);
173178
}
@@ -367,7 +372,7 @@ private static object GetCriteria(byte[] criteriaData)
367372
return criteria;
368373
}
369374

370-
#endregion
375+
#endregion Criteria
371376

372377
#region Conversion methods
373378

@@ -401,7 +406,7 @@ protected virtual HttpResponse ConvertResponse(HttpResponse response)
401406
return response;
402407
}
403408

404-
#endregion
409+
#endregion Conversion methods
405410

406411
/// <summary>
407412
/// Dispose this object.
@@ -413,4 +418,4 @@ public void Dispose()
413418
Connection?.Dispose();
414419
}
415420
}
416-
}
421+
}

0 commit comments

Comments
 (0)