示例#1
0
        public void Apply(IInMemoryBusBuilder builder)
        {
            var receiveEndpointBuilder = new InMemoryReceiveEndpointBuilder(CreateConsumePipe(builder), builder);

            var receivePipe = CreateReceivePipe(receiveEndpointBuilder);

            _sendEndpointProvider    = CreateSendEndpointProvider(receiveEndpointBuilder);
            _publishEndpointProvider = CreatePublishEndpointProvider(receiveEndpointBuilder);

            var inMemoryBusBuilder = builder as InMemoryBusBuilder;

            if (inMemoryBusBuilder == null)
            {
                throw new ArgumentException("The bus builder is expected to by an InMemoryBusBuilder", nameof(inMemoryBusBuilder));
            }

            var transport = inMemoryBusBuilder.InMemoryHost.GetReceiveTransport(_queueName, _transportConcurrencyLimit, _sendEndpointProvider,
                                                                                _publishEndpointProvider);

            var inMemoryHost = inMemoryBusBuilder.InMemoryHost as InMemoryHost;

            if (inMemoryHost == null)
            {
                throw new ConfigurationException("Must be an InMemoryHost");
            }

            inMemoryHost.ReceiveEndpoints.Add(_queueName, new ReceiveEndpoint(transport, receivePipe));
        }
示例#2
0
        public void Apply(IInMemoryBusBuilder builder)
        {
            var inMemoryBusBuilder = builder as InMemoryBusBuilder;

            if (inMemoryBusBuilder == null)
            {
                throw new ArgumentException("The bus builder is expected to by an InMemoryBusBuilder", nameof(inMemoryBusBuilder));
            }

            var inMemoryHost = inMemoryBusBuilder.InMemoryHost as InMemoryHost;

            if (inMemoryHost == null)
            {
                throw new ConfigurationException("Must be an InMemoryHost");
            }

            var receiveEndpointBuilder = new InMemoryReceiveEndpointBuilder(builder, inMemoryHost, _sendTransportProvider, _configuration);

            var receivePipe = CreateReceivePipe(receiveEndpointBuilder);

            var receiveEndpointTopology = receiveEndpointBuilder.CreateReceiveEndpointTopology(InputAddress);

            _sendEndpointProvider    = receiveEndpointTopology.SendEndpointProvider;
            _publishEndpointProvider = receiveEndpointTopology.PublishEndpointProvider;

            var transport = inMemoryBusBuilder.InMemoryHost.GetReceiveTransport(_queueName, receiveEndpointTopology);

            inMemoryHost.ReceiveEndpoints.Add(_queueName, new ReceiveEndpoint(transport, receivePipe));
        }
示例#3
0
        public override IReceiveEndpoint Build()
        {
            var builder = new InMemoryReceiveEndpointBuilder(_hostConfiguration.Host, this);

            ApplySpecifications(builder);

            var receiveEndpointContext = builder.CreateReceiveEndpointContext();

            var transport = _hostConfiguration.Host.GetReceiveTransport(_queueName, receiveEndpointContext);

            return(CreateReceiveEndpoint(_queueName, transport, receiveEndpointContext));
        }
示例#4
0
        public void Build(IHost host)
        {
            var builder = new InMemoryReceiveEndpointBuilder(_hostConfiguration, this);

            ApplySpecifications(builder);

            var receiveEndpointContext = builder.CreateReceiveEndpointContext();

            var transport = new InMemoryReceiveTransport(receiveEndpointContext, _queueName);

            var receiveEndpoint = new ReceiveEndpoint(transport, receiveEndpointContext);

            host.AddReceiveEndpoint(_queueName, receiveEndpoint);

            ReceiveEndpoint = receiveEndpoint;
        }
        public void Build(IInMemoryHostControl host)
        {
            var builder = new InMemoryReceiveEndpointBuilder(host, this);

            ApplySpecifications(builder);

            var receiveEndpointContext = builder.CreateReceiveEndpointContext();

            var transport = host.GetReceiveTransport(_queueName, receiveEndpointContext);

            var receiveEndpoint = new ReceiveEndpoint(transport, receiveEndpointContext);

            host.AddReceiveEndpoint(_queueName, receiveEndpoint);

            ReceiveEndpoint = receiveEndpoint;
        }
示例#6
0
        static InMemoryReceiveEndpointContext Build()
        {
            var topologyConfiguration = new InMemoryTopologyConfiguration(InMemoryBus.MessageTopology);
            IInMemoryBusConfiguration busConfiguration = new InMemoryBusConfiguration(topologyConfiguration, null);

            var receiveEndpointConfiguration = busConfiguration.HostConfiguration.CreateReceiveEndpointConfiguration("input-queue");

            var hostTopology = new InMemoryHostTopology(busConfiguration.HostConfiguration, topologyConfiguration);
            var host         = new InMemoryHost(busConfiguration.HostConfiguration, hostTopology);

            var builder = new InMemoryReceiveEndpointBuilder(busConfiguration.HostConfiguration, receiveEndpointConfiguration);

            if (LogContext.Current == null)
            {
                var loggerFactory = new TestOutputLoggerFactory(true);

                LogContext.ConfigureCurrentLogContext(loggerFactory);
            }

            return(builder.CreateReceiveEndpointContext());
        }
        public void Apply(IInMemoryBusBuilder builder)
        {
            var receiveEndpointBuilder = new InMemoryReceiveEndpointBuilder(CreateConsumePipe(builder), builder);

            var receivePipe = CreateReceivePipe(receiveEndpointBuilder);

            _sendEndpointProvider = CreateSendEndpointProvider(receiveEndpointBuilder);
            _publishEndpointProvider = CreatePublishEndpointProvider(receiveEndpointBuilder);

            var inMemoryBusBuilder = builder as InMemoryBusBuilder;
            if (inMemoryBusBuilder == null)
                throw new ArgumentException("The bus builder is expected to by an InMemoryBusBuilder", nameof(inMemoryBusBuilder));

            var transport = inMemoryBusBuilder.InMemoryHost.GetReceiveTransport(_queueName, _transportConcurrencyLimit, _sendEndpointProvider,
                _publishEndpointProvider);

            var inMemoryHost = inMemoryBusBuilder.InMemoryHost as InMemoryHost;
            if (inMemoryHost == null)
                throw new ConfigurationException("Must be an InMemoryHost");

            inMemoryHost.ReceiveEndpoints.Add(_queueName, new ReceiveEndpoint(transport, receivePipe));
        }