Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using EleWise.ELMA.MessageQueueRMQ.Settings;
- using EleWise.ELMA.Model.Entities;
- using RabbitMQ.Client.Events;
- using Yambr.ELMA.MessageQueueRMQ.Models;
- namespace Yambr.ELMA.MessageQueueRMQ.Services
- {
- /// <summary>
- /// Сервис работы с очередью Rabbit
- /// </summary>
- // ReSharper disable once InconsistentNaming
- public interface IRabbitMQService
- {
- /// <summary>
- /// Проверить подключение
- /// </summary>
- void HealthCheck();
- /// <summary>
- /// Подключиться к Очереди
- /// </summary>
- void Init();
- /// <summary>
- /// Закрыть подключения
- /// </summary>
- void DisposeConnection();
- /// <summary>
- /// Получить модель сообщения (тип сообщения)
- /// </summary>
- /// <param name="eventArgs"> Contains all the information about a message delivered
- /// from an AMQP broker within the Basic content-class.
- /// (содержит информацию о сообщении, в заголовках можно указать дополнительные параметры)
- /// </param>
- /// <param name="message">сообщение</param>
- /// <returns></returns>
- string GetModelFromMessage(BasicDeliverEventArgs eventArgs, string message);
- /// <summary>
- /// Отправить сообщение немедленно в очередь
- /// </summary>
- /// <param name="setting">настройки очереди RMQSetting</param>
- /// <param name="queueObject"> сообщение для отправки</param>
- void SendMessage(RMQSetting setting, IQueueObject queueObject);
- /// <summary>
- /// Отправить сообщение немедленно
- /// в exchange очереди
- /// </summary>
- /// <param name="queueObject">сообщение для отправки</param>
- void SendMessage(IQueueObject queueObject);
- /// <summary>
- /// Отправить любой объект в MessageHandlerService
- /// </summary>
- /// <typeparam name="T">object</typeparam>
- /// <param name="sendObject">Отправляемый объект</param>
- /// <param name="model">Тип события на стороне MessageHandlerService</param>
- void SendCustomMessageHandler<T>(T sendObject, string model);
- /// <summary>
- /// Отправка объекта, с реализацией компонента ISendRabbitMessageHandler в MessageHandlerService
- /// </summary>
- /// <param name="sendObject"></param>
- void SendMessage<T>(T sendObject);
- /// <summary>
- /// Отправить сообщение после сохранения в базу данных (рекомендуется)
- /// в exchange очереди
- /// </summary>
- /// <param name="queueObject">сообщение для отправки</param>
- void SendMessageOnCommit(IQueueObject queueObject);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment