namespace Dpz.Core.MessageQueue.Abstractions;

/// <summary>
/// 消息路由约定接口
/// 定义如何根据消息类型自动生成Exchange、Queue、RoutingKey
/// </summary>
public interface IMessageRoutingConvention
{
    /// <summary>
    /// 获取Exchange名称
    /// </summary>
    string GetExchangeName<TMessage>();

    /// <summary>
    /// 获取队列名称
    /// </summary>
    string GetQueueName<TMessage>();

    /// <summary>
    /// 获取路由键
    /// </summary>
    string GetRoutingKey<TMessage>();

    /// <summary>
    /// 获取Exchange类型
    /// </summary>
    Enums.ExchangeType GetExchangeType<TMessage>();
}
评论加载中...