2020-11-18 23:34:59 +08:00
|
|
|
|
using RabbitMQ.Client;
|
|
|
|
|
using System;
|
|
|
|
|
|
2020-11-19 19:59:36 +08:00
|
|
|
|
namespace Blog.Core.EventBus
|
2020-11-18 23:34:59 +08:00
|
|
|
|
{
|
2020-11-20 19:19:01 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// RabbitMQ持久连接
|
|
|
|
|
/// 接口
|
|
|
|
|
/// </summary>
|
2020-11-18 23:34:59 +08:00
|
|
|
|
public interface IRabbitMQPersistentConnection
|
|
|
|
|
: IDisposable
|
|
|
|
|
{
|
2023-12-01 11:18:21 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否已经连接
|
|
|
|
|
/// </summary>
|
2020-11-18 23:34:59 +08:00
|
|
|
|
bool IsConnected { get; }
|
|
|
|
|
|
2023-12-01 11:18:21 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 尝试重连
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
2020-11-18 23:34:59 +08:00
|
|
|
|
bool TryConnect();
|
|
|
|
|
|
2023-12-01 11:18:21 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 创建Model
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
2020-11-18 23:34:59 +08:00
|
|
|
|
IModel CreateModel();
|
2023-12-01 11:18:21 +08:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 发布消息
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="message"></param>
|
|
|
|
|
/// <param name="exchangeName"></param>
|
|
|
|
|
/// <param name="routingKey"></param>
|
|
|
|
|
void PublishMessage(string message, string exchangeName, string routingKey);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 订阅消息
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="queueName"></param>
|
|
|
|
|
void StartConsuming(string queueName);
|
2020-11-18 23:34:59 +08:00
|
|
|
|
}
|
|
|
|
|
}
|