using Microsoft.Extensions.Configuration;
using RabbitMQ.Client;
namespace BMA.EHR.Infrastructure.MessageQueue
{
public class RabbitMQConnection
{
private readonly IConnection _connection;
private readonly IModel _channel;
private readonly IConfiguration _configuration;
///
///
///
///
public RabbitMQConnection(IConfiguration configuration)
{
_configuration = configuration;
var hostName = _configuration["RabbitMQ:URL"];
var userName = _configuration["RabbitMQ:UserName"];
var password = _configuration["RabbitMQ:Password"];
var factory = new ConnectionFactory() { HostName = hostName, UserName = userName, Password = password };
_connection = factory.CreateConnection();
_channel = _connection.CreateModel();
}
///
///
///
///
public IModel GetChannel() => _channel;
///
///
///
public void Dispose()
{
_channel?.Close();
_connection?.Close();
}
}
}