Fix for: https://issues.apache.org/activemq/browse/AMQNET-235
diff --git a/src/main/csharp/Connection.cs b/src/main/csharp/Connection.cs
index c014100..fad3dbb 100755
--- a/src/main/csharp/Connection.cs
+++ b/src/main/csharp/Connection.cs
@@ -765,11 +765,19 @@
protected void OnTransportInterrupted(ITransport sender)
{
- Tracer.Debug("Transport has been Interrupted.");
+ Tracer.Debug("Connection: Transport has been Interrupted.");
foreach(Session session in this.sessions)
{
- session.ClearMessagesInProgress();
+ try
+ {
+ session.ClearMessagesInProgress();
+ }
+ catch(Exception ex)
+ {
+ Tracer.Warn("Exception while clearing messages: " + ex.Message);
+ Tracer.Warn(ex.StackTrace);
+ }
}
if(this.ConnectionInterruptedListener != null && !this.closing )
diff --git a/src/main/csharp/Session.cs b/src/main/csharp/Session.cs
index fd711d2..63475c2 100755
--- a/src/main/csharp/Session.cs
+++ b/src/main/csharp/Session.cs
@@ -807,7 +807,7 @@
lock(this.consumers.SyncRoot)
{
- foreach(MessageConsumer consumer in this.consumers)
+ foreach(MessageConsumer consumer in this.consumers.Values)
{
consumer.ClearMessagesInProgress();
}