public PublishQueueExecutor( ConnectionPool connectionPool, RabbitMQOptions rabbitMQOptions, ILogger logger) { _logger = logger; _connectionPool = connectionPool; _rabbitMQOptions = rabbitMQOptions; }
public QueueOperation(ILogger logger, ConnectionPool connectionPool, RabbitMQOptions rabbitMQOptions, IQueueOperationSubscriptionsManager subsManager, PublishQueueExecutor publishQueueExecutor) { _logger = logger; _subsManager = subsManager ?? new InMemorySubscriptionsManager(); _subsManager.OnEventRemoved += SubsManager_OnEventRemoved; _publishQueueExecutor = publishQueueExecutor; _connectionPool = connectionPool; _rabbitMQOptions = rabbitMQOptions; }
public static IServiceCollection AddRabbitMQServices(this IServiceCollection services) { var options = new RabbitMQOptions(); services.AddSingleton(options); services.AddSingleton <ConnectionPool>(); services.AddSingleton <PublishQueueExecutor>(); services.AddScoped <IQueueOperationSubscriptionsManager, InMemorySubscriptionsManager>(); return(services.AddSingleton <IQueueOperation, QueueOperation>()); }
//public ProcessEvent _processEvent; public RabbitMQConsumerClient(string exchageName, string queueName, string responseQueueName, bool needResponse, ConnectionPool connectionPool, RabbitMQOptions options, ILogger logger)//, ProcessEvent processEvent { _queueName = queueName; _responseQueueName = responseQueueName; _needResponse = needResponse; _connectionPool = connectionPool; _rabbitMQOptions = options; _exchageName = exchageName ?? options.TopicExchangeName; //_processEvent = processEvent; _logger = logger; InitClient(); }
private static Func <IConnection> CreateActivator(RabbitMQOptions options) { var factory = new ConnectionFactory() { HostName = options.HostName, UserName = options.UserName, Port = options.Port, Password = options.Password, VirtualHost = options.VirtualHost, RequestedConnectionTimeout = options.RequestedConnectionTimeout, SocketReadTimeout = options.SocketReadTimeout, SocketWriteTimeout = options.SocketWriteTimeout }; return(() => factory.CreateConnection()); }
public ConnectionPool(RabbitMQOptions options) { _maxSize = DefaultPoolSize; _activator = CreateActivator(options); }