Skip to content

Commit ec3e168

Browse files
authored
Merge pull request #184 from GoranSiska/master
Fix calling session recover when client in client acknowledge mode
2 parents 81675a9 + bbb3829 commit ec3e168

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

src/Spring/Spring.Messaging.Ems/Messaging/Ems/Listener/AbstractMessageListenerContainer.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -506,6 +506,10 @@ protected virtual void RollbackIfNecessary(ISession session)
506506
// Transacted session created by this container -> rollback
507507
EmsUtils.RollbackIfNecessary(session);
508508
}
509+
else if (IsClientAcknowledge(session))
510+
{
511+
session.Recover();
512+
}
509513
}
510514
/// <summary>
511515
/// Perform a rollback, handling rollback excepitons properly.
@@ -526,7 +530,12 @@ protected virtual void RollbackOnExceptionIfNecessary(ISession session, Exceptio
526530
}
527531
EmsUtils.RollbackIfNecessary(session);
528532
}
529-
} catch (EMSException)
533+
else if (IsClientAcknowledge(session))
534+
{
535+
session.Recover();
536+
}
537+
}
538+
catch (EMSException)
530539
{
531540
logger.Error("Application exception overriden by rollback exception", ex);
532541
throw;

src/Spring/Spring.Messaging.Nms/Messaging/Nms/Listener/AbstractMessageListenerContainer.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,6 +504,10 @@ protected virtual void RollbackIfNecessary(ISession session)
504504
// Transacted session created by this container -> rollback
505505
NmsUtils.RollbackIfNecessary(session);
506506
}
507+
else if (IsClientAcknowledge(session))
508+
{
509+
session.Recover();
510+
}
507511
}
508512
/// <summary>
509513
/// Perform a rollback, handling rollback excepitons properly.
@@ -524,7 +528,12 @@ protected virtual void RollbackOnExceptionIfNecessary(ISession session, Exceptio
524528
}
525529
NmsUtils.RollbackIfNecessary(session);
526530
}
527-
} catch (NMSException)
531+
else if (IsClientAcknowledge(session))
532+
{
533+
session.Recover();
534+
}
535+
}
536+
catch (NMSException)
528537
{
529538
logger.Error("Application exception overriden by rollback exception", ex);
530539
throw;

0 commit comments

Comments
 (0)