Changed IExceptionStrategy to async
This commit is contained in:
parent
3981a5c147
commit
e83645cdc4
@ -78,7 +78,8 @@ namespace Tapeti.Connection
|
|||||||
};
|
};
|
||||||
|
|
||||||
var exceptionContext = new ExceptionStrategyContext(emptyContext, dispatchException);
|
var exceptionContext = new ExceptionStrategyContext(emptyContext, dispatchException);
|
||||||
HandleException(exceptionContext);
|
await HandleException(exceptionContext);
|
||||||
|
|
||||||
return exceptionContext.ConsumeResult;
|
return exceptionContext.ConsumeResult;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -132,7 +133,7 @@ namespace Tapeti.Connection
|
|||||||
catch (Exception invokeException)
|
catch (Exception invokeException)
|
||||||
{
|
{
|
||||||
var exceptionContext = new ExceptionStrategyContext(context, invokeException);
|
var exceptionContext = new ExceptionStrategyContext(context, invokeException);
|
||||||
HandleException(exceptionContext);
|
await HandleException(exceptionContext);
|
||||||
|
|
||||||
await binding.Cleanup(context, exceptionContext.ConsumeResult);
|
await binding.Cleanup(context, exceptionContext.ConsumeResult);
|
||||||
return exceptionContext.ConsumeResult;
|
return exceptionContext.ConsumeResult;
|
||||||
@ -140,7 +141,7 @@ namespace Tapeti.Connection
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void HandleException(ExceptionStrategyContext exceptionContext)
|
private async Task HandleException(ExceptionStrategyContext exceptionContext)
|
||||||
{
|
{
|
||||||
if (cancellationToken.IsCancellationRequested && IgnoreExceptionDuringShutdown(exceptionContext.Exception))
|
if (cancellationToken.IsCancellationRequested && IgnoreExceptionDuringShutdown(exceptionContext.Exception))
|
||||||
{
|
{
|
||||||
@ -151,7 +152,7 @@ namespace Tapeti.Connection
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
exceptionStrategy.HandleException(exceptionContext);
|
await exceptionStrategy.HandleException(exceptionContext);
|
||||||
}
|
}
|
||||||
catch (Exception strategyException)
|
catch (Exception strategyException)
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Tapeti.Config;
|
using System.Threading.Tasks;
|
||||||
|
using Tapeti.Config;
|
||||||
|
|
||||||
namespace Tapeti.Default
|
namespace Tapeti.Default
|
||||||
{
|
{
|
||||||
@ -9,9 +10,10 @@ namespace Tapeti.Default
|
|||||||
public class NackExceptionStrategy : IExceptionStrategy
|
public class NackExceptionStrategy : IExceptionStrategy
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public void HandleException(IExceptionStrategyContext context)
|
public Task HandleException(IExceptionStrategyContext context)
|
||||||
{
|
{
|
||||||
context.SetConsumeResult(ConsumeResult.Error);
|
context.SetConsumeResult(ConsumeResult.Error);
|
||||||
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Tapeti.Config;
|
using System.Threading.Tasks;
|
||||||
|
using Tapeti.Config;
|
||||||
|
|
||||||
// ReSharper disable UnusedMember.Global
|
// ReSharper disable UnusedMember.Global
|
||||||
|
|
||||||
@ -20,9 +21,10 @@ namespace Tapeti.Default
|
|||||||
public class RequeueExceptionStrategy : IExceptionStrategy
|
public class RequeueExceptionStrategy : IExceptionStrategy
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public void HandleException(IExceptionStrategyContext context)
|
public Task HandleException(IExceptionStrategyContext context)
|
||||||
{
|
{
|
||||||
context.SetConsumeResult(ConsumeResult.Requeue);
|
context.SetConsumeResult(ConsumeResult.Requeue);
|
||||||
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Tapeti.Config;
|
using System.Threading.Tasks;
|
||||||
|
using Tapeti.Config;
|
||||||
|
|
||||||
namespace Tapeti
|
namespace Tapeti
|
||||||
{
|
{
|
||||||
@ -12,6 +13,6 @@ namespace Tapeti
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="context">The exception strategy context containing the necessary data including the message context and the thrown exception.
|
/// <param name="context">The exception strategy context containing the necessary data including the message context and the thrown exception.
|
||||||
/// Also proivdes methods for the exception strategy to indicate how the message should be handled.</param>
|
/// Also proivdes methods for the exception strategy to indicate how the message should be handled.</param>
|
||||||
void HandleException(IExceptionStrategyContext context);
|
Task HandleException(IExceptionStrategyContext context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user