/// <summary> /// Initializes a new instance of the <see cref="ReceiveMessageQueryHandler" /> class. /// </summary> /// <param name="optionsFactory">The options factory.</param> /// <param name="tableNameHelper">The table name helper.</param> /// <param name="receivedMessageFactory">The received message factory.</param> /// <param name="commandCache">The command cache.</param> /// <param name="messageFactory">The message factory.</param> /// <param name="headers">The headers.</param> /// <param name="serialization">The serialization.</param> /// <param name="getTimeFactory">The get time factory.</param> public ReceiveMessageQueryHandler(IPostgreSqlMessageQueueTransportOptionsFactory optionsFactory, ITableNameHelper tableNameHelper, IReceivedMessageFactory receivedMessageFactory, PostgreSqlCommandStringCache commandCache, IMessageFactory messageFactory, IHeaders headers, ICompositeSerialization serialization, IGetTimeFactory getTimeFactory) { Guard.NotNull(() => optionsFactory, optionsFactory); Guard.NotNull(() => tableNameHelper, tableNameHelper); Guard.NotNull(() => receivedMessageFactory, receivedMessageFactory); Guard.NotNull(() => commandCache, commandCache); Guard.NotNull(() => messageFactory, messageFactory); Guard.NotNull(() => serialization, serialization); Guard.NotNull(() => headers, headers); Guard.NotNull(() => getTimeFactory, getTimeFactory); _options = new Lazy <PostgreSqlMessageQueueTransportOptions>(optionsFactory.Create); _tableNameHelper = tableNameHelper; _receivedMessageFactory = receivedMessageFactory; _commandCache = commandCache; _messageFactory = messageFactory; _headers = headers; _serialization = serialization; _getTime = getTimeFactory.Create(); }
/// <summary> /// Initializes a new instance of the <see cref="ReceiveMessageQueryHandler" /> class. /// </summary> /// <param name="serializer">The serializer.</param> /// <param name="receivedMessageFactory">The received message factory.</param> /// <param name="deleteMessage">The delete message.</param> /// <param name="redisHeaders">The redisHeaders.</param> /// <param name="dequeueLua">The dequeue.</param> /// <param name="dequeueRpcLua">The dequeue RPC.</param> /// <param name="unixTimeFactory">The unix time factory.</param> /// <param name="messageFactory">The message factory.</param> public ReceiveMessageQueryHandler( ICompositeSerialization serializer, IReceivedMessageFactory receivedMessageFactory, ICommandHandlerWithOutput <DeleteMessageCommand, bool> deleteMessage, RedisHeaders redisHeaders, DequeueLua dequeueLua, DequeueRpcLua dequeueRpcLua, IUnixTimeFactory unixTimeFactory, IMessageFactory messageFactory) { Guard.NotNull(() => serializer, serializer); Guard.NotNull(() => receivedMessageFactory, receivedMessageFactory); Guard.NotNull(() => deleteMessage, deleteMessage); Guard.NotNull(() => redisHeaders, redisHeaders); Guard.NotNull(() => dequeueLua, dequeueLua); Guard.NotNull(() => dequeueRpcLua, dequeueRpcLua); Guard.NotNull(() => unixTimeFactory, unixTimeFactory); _serializer = serializer; _receivedMessageFactory = receivedMessageFactory; _deleteMessage = deleteMessage; _redisHeaders = redisHeaders; _dequeueLua = dequeueLua; _dequeueRpcLua = dequeueRpcLua; _unixTimeFactory = unixTimeFactory; _messageFactory = messageFactory; }
public MessageDeQueue(IHeaders headers, IMessageFactory messageFactory, IReceivedMessageFactory receivedMessageFactory, ICompositeSerialization serialization) { Guard.NotNull(() => serialization, serialization); Guard.NotNull(() => headers, headers); Guard.NotNull(() => messageFactory, messageFactory); Guard.NotNull(() => receivedMessageFactory, receivedMessageFactory); _messageFactory = messageFactory; _headers = headers; _serialization = serialization; _receivedMessageFactory = receivedMessageFactory; }
/// <summary>Initializes a new instance of the <see cref="DataStorage" /> class.</summary> /// <param name="jobSchedulerMetaData">The job scheduler meta data.</param> /// <param name="connectionInformation">The connection information.</param> /// <param name="receivedMessageFactory">The received message factory.</param> /// <param name="messageFactory">The message factory.</param> /// <param name="cancelToken">cancel token for stopping</param> public DataStorage( IJobSchedulerMetaData jobSchedulerMetaData, IConnectionInformation connectionInformation, IReceivedMessageFactory receivedMessageFactory, IMessageFactory messageFactory, IQueueCancelWork cancelToken) { _jobSchedulerMetaData = jobSchedulerMetaData; _connectionInformation = connectionInformation; _receivedMessageFactory = receivedMessageFactory; _messageFactory = messageFactory; _cancelToken = cancelToken; if (!Queues.ContainsKey(_connectionInformation)) { Queues.TryAdd(_connectionInformation, new BlockingCollection <Guid>()); } if (!QueueData.ContainsKey(_connectionInformation)) { QueueData.TryAdd(_connectionInformation, new ConcurrentDictionary <Guid, QueueItem>()); } if (!ErrorCounts.ContainsKey(_connectionInformation)) { ErrorCounts.TryAdd(_connectionInformation, new IncrementWrapper()); } if (!DequeueCounts.ContainsKey(_connectionInformation)) { DequeueCounts.TryAdd(_connectionInformation, new IncrementWrapper()); } if (!Jobs.ContainsKey(_connectionInformation)) { Jobs.TryAdd(_connectionInformation, new ConcurrentDictionary <string, Guid>()); } if (!QueueWorking.ContainsKey(_connectionInformation)) { QueueWorking.TryAdd(_connectionInformation, new ConcurrentDictionary <Guid, QueueItem>()); } _complete = false; }
/// <summary> /// Initializes a new instance of the <see cref="DataStorage" /> class. /// </summary> /// <param name="jobSchedulerMetaData">The job scheduler meta data.</param> /// <param name="connectionInformation">The connection information.</param> /// <param name="receivedMessageFactory">The received message factory.</param> /// <param name="messageFactory">The message factory.</param> public DataStorage( IJobSchedulerMetaData jobSchedulerMetaData, IConnectionInformation connectionInformation, IReceivedMessageFactory receivedMessageFactory, IMessageFactory messageFactory) { _jobSchedulerMetaData = jobSchedulerMetaData; _connectionInformation = connectionInformation; _receivedMessageFactory = receivedMessageFactory; _messageFactory = messageFactory; if (!Queues.ContainsKey(_connectionInformation)) { Queues.TryAdd(_connectionInformation, new ConcurrentQueue <Guid>()); } if (!QueueData.ContainsKey(_connectionInformation)) { QueueData.TryAdd(_connectionInformation, new ConcurrentDictionary <Guid, QueueItem>()); } if (!ErrorCounts.ContainsKey(_connectionInformation)) { ErrorCounts.TryAdd(_connectionInformation, new IncrementWrapper()); } if (!DequeueCounts.ContainsKey(_connectionInformation)) { DequeueCounts.TryAdd(_connectionInformation, new IncrementWrapper()); } if (!Jobs.ContainsKey(_connectionInformation)) { Jobs.TryAdd(_connectionInformation, new ConcurrentDictionary <string, Guid>()); } if (!QueueWorking.ContainsKey(_connectionInformation)) { QueueWorking.TryAdd(_connectionInformation, new ConcurrentDictionary <Guid, QueueItem>()); } Signal = new AutoResetEvent(false); }
/// <summary>Initializes a new instance of the <see cref="ReceiveMessageQueryHandler"/> class.</summary> /// <param name="serializer">The serializer.</param> /// <param name="receivedMessageFactory">The received message factory.</param> /// <param name="removeMessage">removes a message from the queue</param> /// <param name="redisHeaders">The redisHeaders.</param> /// <param name="dequeueLua">The dequeue.</param> /// <param name="unixTimeFactory">The unix time factory.</param> /// <param name="messageFactory">The message factory.</param> public ReceiveMessageQueryHandlerAsync( ICompositeSerialization serializer, IReceivedMessageFactory receivedMessageFactory, IRemoveMessage removeMessage, RedisHeaders redisHeaders, DequeueLua dequeueLua, IUnixTimeFactory unixTimeFactory, IMessageFactory messageFactory) { Guard.NotNull(() => serializer, serializer); Guard.NotNull(() => receivedMessageFactory, receivedMessageFactory); Guard.NotNull(() => removeMessage, removeMessage); Guard.NotNull(() => redisHeaders, redisHeaders); Guard.NotNull(() => dequeueLua, dequeueLua); Guard.NotNull(() => unixTimeFactory, unixTimeFactory); _serializer = serializer; _receivedMessageFactory = receivedMessageFactory; _removeMessage = removeMessage; _redisHeaders = redisHeaders; _dequeueLua = dequeueLua; _unixTimeFactory = unixTimeFactory; _messageFactory = messageFactory; }