public CreateSubscriptions(IServiceBusFactory serviceBusFactory, ElsaOptions elsaOptions, IContainerNameAccessor containerNameAccessor)
 {
     _serviceBusFactory     = serviceBusFactory;
     _containerNameAccessor = containerNameAccessor;
     _competingMessageTypes = elsaOptions.CompetingMessageTypes;
     _pubSubMessageTypes    = elsaOptions.PubSubMessageTypes;
 }
Beispiel #2
0
 public RedisBus(IConnectionMultiplexer multiplexer, IContainerNameAccessor containerNameAccessor, ILogger <RedisBus> logger)
 {
     _multiplexer   = multiplexer;
     _hostName      = Dns.GetHostName() + ':' + Process.GetCurrentProcess().Id;
     _channelPrefix = (TenantId ?? "Default") + ':';
     _messagePrefix = _hostName + '/';
     _logger        = logger;
 }
        public CreateSubscriptions(IServiceBusFactory serviceBusFactory, ElsaOptions elsaOptions, IContainerNameAccessor containerNameAccessor)
        {
            _serviceBusFactory     = serviceBusFactory;
            _containerNameAccessor = containerNameAccessor;
            _competingMessageTypes = elsaOptions.CompetingMessageTypes.ToList();
            _pubSubMessageTypes    = elsaOptions.PubSubMessageTypes;

            var workflowChannelOptions = elsaOptions.WorkflowChannelOptions;
            var workflowChannels       = workflowChannelOptions.Channels.ToList();

            // For each workflow channel, register a competing message type for workflow definition and workflow instance consumers.
            foreach (var workflowChannel in workflowChannels)
            {
                _competingMessageTypes.Add(new CompetingMessageType(typeof(ExecuteWorkflowDefinitionRequest), ElsaOptions.FormatChannelQueueName <ExecuteWorkflowDefinitionRequest>(workflowChannel)));
                _competingMessageTypes.Add(new CompetingMessageType(typeof(ExecuteWorkflowInstanceRequest), ElsaOptions.FormatChannelQueueName <ExecuteWorkflowInstanceRequest>(workflowChannel)));
            }
        }