Interface IConsumerTransactionManager
Handles the consumer transaction. It commits or rolls back both the consumer and the enlisted transactional services (see ITransactional).
Namespace: Silverback.Messaging.Inbound.Transaction
Assembly: Silverback.Integration.dll
Syntax
public interface IConsumerTransactionManager
Properties
| Improve this doc View sourceIsCompleted
Gets a value indicating whether the transaction has completed.
Declaration
bool IsCompleted { get; }
Property Value
Type | Description |
---|---|
bool |
Methods
| Improve this doc View sourceCommitAsync()
Commits the transaction.
Declaration
Task CommitAsync()
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |
Enlist(ITransactional)
Adds the specified service to the transaction participants to be called upon commit or rollback.
Declaration
void Enlist(ITransactional transactionalService)
Parameters
Type | Name | Description |
---|---|---|
ITransactional | transactionalService | The service to be enlisted. |
RollbackAsync(Exception?, bool, bool, bool)
Aborts the transaction and causes the uncommitted changes to be rolled back.
Declaration
Task<bool> RollbackAsync(Exception? exception, bool commitConsumer = false, bool throwIfAlreadyCommitted = true, bool stopConsuming = true)
Parameters
Type | Name | Description |
---|---|---|
Exception | exception | The exception that caused the rollback. |
bool | commitConsumer | A value indicating whether the consumer have to be committed anyway. This depends on the error policy being applied. |
bool | throwIfAlreadyCommitted | A value indicating whether an exception must be thrown if the transaction was already committed. |
bool | stopConsuming | A value indicating whether the consumer must be stopped. |
Returns
Type | Description |
---|---|
Task<bool> | A Task<TResult> representing the asynchronous operation. The task result contains a value indicating whether the rollback was performed. |