Show / Hide Table of Contents

    Class RabbitExchangeConsumerEndpoint

    Represents an exchange to consume from.

    Inheritance
    object
    Endpoint
    ConsumerEndpoint
    RabbitConsumerEndpoint
    RabbitExchangeConsumerEndpoint
    Implements
    IConsumerEndpoint
    IEndpoint
    IEquatable<RabbitExchangeConsumerEndpoint>
    Inherited Members
    RabbitConsumerEndpoint.Connection
    RabbitConsumerEndpoint.Queue
    RabbitConsumerEndpoint.AcknowledgeEach
    RabbitConsumerEndpoint.PrefetchSize
    RabbitConsumerEndpoint.PrefetchCount
    ConsumerEndpoint.ErrorPolicy
    ConsumerEndpoint.ExactlyOnceStrategy
    ConsumerEndpoint.Batch
    ConsumerEndpoint.Sequence
    ConsumerEndpoint.NullMessageHandlingStrategy
    ConsumerEndpoint.ThrowIfUnhandled
    Endpoint.DefaultSerializer
    Endpoint.DisplayName
    Endpoint.Name
    Endpoint.FriendlyName
    Endpoint.Serializer
    Endpoint.Encryption
    Endpoint.MessageValidationMode
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Silverback.Messaging
    Assembly: Silverback.Integration.RabbitMQ.dll
    Syntax
    public sealed class RabbitExchangeConsumerEndpoint : RabbitConsumerEndpoint, IConsumerEndpoint, IEndpoint, IEquatable<RabbitExchangeConsumerEndpoint>

    Constructors

    | Improve this doc View source

    RabbitExchangeConsumerEndpoint(string)

    Initializes a new instance of the RabbitExchangeConsumerEndpoint class.

    Declaration
    public RabbitExchangeConsumerEndpoint(string name)
    Parameters
    Type Name Description
    string name

    The name of the exchange.

    Properties

    | Improve this doc View source

    Exchange

    Gets or sets the exchange configuration.

    Declaration
    public RabbitExchangeConfig Exchange { get; set; }
    Property Value
    Type Description
    RabbitExchangeConfig
    | Improve this doc View source

    QueueName

    Gets or sets the desired queue name. If null or empty a random name will be generated by RabbitMQ.

    Declaration
    public string? QueueName { get; set; }
    Property Value
    Type Description
    string
    | Improve this doc View source

    RoutingKey

    Gets or sets the routing key (aka binding key) to be used to bind with the exchange.

    Declaration
    public string? RoutingKey { get; set; }
    Property Value
    Type Description
    string

    Methods

    | Improve this doc View source

    Equals(RabbitExchangeConsumerEndpoint?)

    Indicates whether the current object is equal to another object of the same type.

    Declaration
    public bool Equals(RabbitExchangeConsumerEndpoint? other)
    Parameters
    Type Name Description
    RabbitExchangeConsumerEndpoint other

    An object to compare with this object.

    Returns
    Type Description
    bool

    true if the current object is equal to the other parameter; otherwise, false.

    | Improve this doc View source

    Equals(object?)

    Determines whether the specified object is equal to the current object.

    Declaration
    public override bool Equals(object? obj)
    Parameters
    Type Name Description
    object obj

    The object to compare with the current object.

    Returns
    Type Description
    bool

    true if the specified object is equal to the current object; otherwise, false.

    Overrides
    object.Equals(object)
    | Improve this doc View source

    GetHashCode()

    Serves as the default hash function.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    int

    A hash code for the current object.

    Overrides
    object.GetHashCode()
    | Improve this doc View source

    GetUniqueConsumerGroupName()

    Gets a unique name for the consumer group (e.g. Kafka's consumer group id). This value (joint with the endpoint name) will be used for example to ensure the exactly-once delivery.

    Declaration
    public override string GetUniqueConsumerGroupName()
    Returns
    Type Description
    string

    Returns the unique name for the consumer group.

    Overrides
    ConsumerEndpoint.GetUniqueConsumerGroupName()
    Remarks

    It's not enough to use the endpoint name, since the same topic could be consumed by multiple consumer groups within the same process and/or using the same database to store the information needed to ensure the exactly-once delivery.

    | Improve this doc View source

    Validate()

    Validates the endpoint configuration and throws an EndpointConfigurationException if not valid.

    Declaration
    public override void Validate()
    Overrides
    RabbitConsumerEndpoint.Validate()

    Implements

    IConsumerEndpoint
    IEndpoint
    IEquatable<T>
    • Improve this doc
    • View source
    GitHub E-Mail
    ↑ Back to top © 2020 Sergio Aquilini