Exemplo n.º 1
0
        public MessageBus(MessageBusCreateParameters parameters = null)
        {
            parameters = parameters ?? MessageBusCreateParameters.Default;
            Id         = parameters.Id ?? Guid.NewGuid().ToString();

            Logger = parameters.GetLogger() ?? new SilentLogger();

            WorkerPool              = new WorkerPool(Logger, parameters.NumberOfWorkers, parameters.MaximumQueuedMessages);
            Modules                 = new ModuleManager(Logger);
            EnvelopeFactory         = new EnvelopeFactory(Id, parameters.IdGenerator ?? new LocalIncrementIdGenerator());
            _subscriptionDispatcher = new SubscriptionDispatcher(Logger, parameters.AllowWildcards);
            _requestDispatcher      = new RequestDispatcher(Logger, parameters.AllowWildcards);
            _participantDispatcher  = new ParticipantDispatcher(Logger, parameters.AllowWildcards);
            _router                 = new TopicRouter();
        }
Exemplo n.º 2
0
 public static Response <Unit> Dispatch <TRequest>(TRequest command) where TRequest : IRequest <Unit>, ICorrelated
 {
     return(SubscriptionDispatcher <AdoNetTransactionScopeUowProvider> .Dispatch(command));
 }