Show / Hide Table of Contents

    Class DbOffsetStore

    Used by the OffsetStoreExactlyOnceStrategy to keep track of the last processed offsets and guarantee that each message is processed only once.

    An IDbContext is used to store the offsets into the database.

    Inheritance
    object
    RepositoryBase<StoredOffset>
    DbOffsetStore
    Implements
    IOffsetStore
    ITransactional
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Silverback.Messaging.Inbound.ExactlyOnce.Repositories
    Assembly: Silverback.Integration.dll
    Syntax
    public sealed class DbOffsetStore : RepositoryBase<StoredOffset>, IOffsetStore, ITransactional

    Constructors

    | Improve this doc View source

    DbOffsetStore(IDbContext)

    Initializes a new instance of the DbOffsetStore class.

    Declaration
    public DbOffsetStore(IDbContext dbContext)
    Parameters
    Type Name Description
    IDbContext dbContext

    The IDbContext to use as storage.

    Methods

    | Improve this doc View source

    CommitAsync()

    Called when the message has been successfully processed to commit the transaction.

    Declaration
    public Task CommitAsync()
    Returns
    Type Description
    Task

    A Task representing the asynchronous operation.

    | Improve this doc View source

    GetLatestValueAsync(string, IConsumerEndpoint)

    Returns the latest recorded offset value for the specified offset key and endpoint.

    Declaration
    public Task<IBrokerMessageOffset?> GetLatestValueAsync(string offsetKey, IConsumerEndpoint endpoint)
    Parameters
    Type Name Description
    string offsetKey

    The key of the offset to be retrieved. The offset key uniquely identifies the queue, topic or partition.

    IConsumerEndpoint endpoint

    The endpoint for which the recorded offset has to be be returned.

    Returns
    Type Description
    Task<IBrokerMessageOffset>

    A Task<TResult> representing the asynchronous operation. The task result contains the latest offset.

    | Improve this doc View source

    RollbackAsync()

    Called when an exception occurs during the message processing to rollback the transaction.

    Declaration
    public Task RollbackAsync()
    Returns
    Type Description
    Task

    A Task representing the asynchronous operation.

    | Improve this doc View source

    StoreAsync(IBrokerMessageOffset, IConsumerEndpoint)

    Stores the offset of the processed message.

    Declaration
    public Task StoreAsync(IBrokerMessageOffset offset, IConsumerEndpoint endpoint)
    Parameters
    Type Name Description
    IBrokerMessageOffset offset

    The offset to be stored.

    IConsumerEndpoint endpoint

    The endpoint the offset belongs to.

    Returns
    Type Description
    Task

    A Task representing the asynchronous operation.

    Implements

    IOffsetStore
    ITransactional
    • Improve this doc
    • View source
    GitHub E-Mail
    ↑ Back to top © 2020 Sergio Aquilini