Esempio n. 1
0
        public MessagingRoot(MessagingSerializationGraph serialization,
                             JasperOptions options,
                             IMessageLogger messageLogger,
                             IContainer container,
                             ITransportLogger transportLogger
                             )
        {
            Options         = options;
            Handlers        = options.HandlerGraph;
            TransportLogger = transportLogger;

            Settings      = options.Advanced;
            Serialization = serialization;

            MessageLogger = messageLogger;

            Pipeline = new HandlerPipeline(Serialization, Handlers, MessageLogger,
                                           container.QuickBuildAll <IMissingHandler>(),
                                           this);

            Runtime = new TransportRuntime(this);


            _persistence = new Lazy <IEnvelopePersistence>(() => container.GetInstance <IEnvelopePersistence>());

            Router = new EnvelopeRouter(this);

            _container = container;

            Cancellation = Settings.Cancellation;
        }
Esempio n. 2
0
        internal ISendingAgent AddSenderForDestination(Uri uri, IMessagingRoot root, TransportRuntime runtime)
        {
            var queueName = QueueName(uri);
            var queue     = _queues[queueName];

            if (uri.IsDurable())
            {
                queue.IsDurable = true;
            }

            return(addQueue(root, runtime, queue));
        }