Esempio n. 1
0
        public AMQMessageBus(IMessageBusContainer container, IMessageBusConfiguration configuration)
        {
            _container     = container;
            _configuration = configuration;
            _serialiser    = container.ResolveType <IMessageBusSerialiser>();

            var hostName  = string.IsNullOrEmpty(configuration.HostName) ? _defaultHost : configuration.HostName;
            var brokerUri = string.Format(_brokerUriTemplate, hostName);

            _factory = new ConnectionFactory(brokerUri);

            _connection          = _factory.CreateConnection();
            _connection.ClientId = _configuration.EndpointName;
            _session             = _connection.CreateSession();
        }
Esempio n. 2
0
        public RMQMessageBus(IMessageBusContainer container, IMessageBusConfiguration configuration)
        {
            _container     = container;
            _configuration = configuration;
            _serialiser    = container.ResolveType <IMessageBusSerialiser>();

            _factory = new ConnectionFactory()
            {
                HostName = string.IsNullOrEmpty(configuration.HostName) ? _defaultHost : configuration.HostName
            };

            _connection = _factory.CreateConnection();
            _channel    = _connection.CreateModel();

            foreach (var exchange in _configuration.MessageDefinitions.Where(md => md.MessageAction == Core.MessageAction.Event).Select(md => md.QueueName).Distinct())
            {
                _channel.ExchangeDeclare(exchange, "fanout", true);
            }
        }
Esempio n. 3
0
        public WSBMessageBus(IMessageBusContainer container, IMessageBusConfiguration configuration)
        {
            _container     = container;
            _configuration = configuration;
            _serialiser    = container.ResolveType <IMessageBusSerialiser>();

            var extendedConfig = configuration.ExtendedConfiguration as WSBExtendedConfiguration;

            if (extendedConfig == null)
            {
                extendedConfig = new WSBExtendedConfiguration();
            }

            var connectStringBuilder = new ServiceBusConnectionStringBuilder();
            var hostName             = string.IsNullOrEmpty(_configuration.HostName) ? _defaultHost : _configuration.HostName;
            var managementPort       = extendedConfig.HttpPort == 0 ? _defaultManagementPort : extendedConfig.HttpPort;
            var runtimePort          = extendedConfig.TcpPort == 0 ? _defaultRuntimePort : extendedConfig.TcpPort;

            connectStringBuilder.ManagementPort = managementPort;
            connectStringBuilder.RuntimePort    = runtimePort;
            connectStringBuilder.Endpoints.Add((new UriBuilder()
            {
                Scheme = "sb", Host = hostName, Path = extendedConfig.ServiceNamespace
            }).Uri);
            connectStringBuilder.StsEndpoints.Add((new UriBuilder()
            {
                Scheme = "https", Host = hostName, Port = managementPort, Path = extendedConfig.ServiceNamespace
            }).Uri);

            var connectionString = connectStringBuilder.ToString();

            _messageFactory   = MessagingFactory.CreateFromConnectionString(connectionString);
            _namespaceManager = NamespaceManager.CreateFromConnectionString(connectionString);

            foreach (var queueName in _configuration.MessageDefinitions.Where(md => md.MessageAction == Core.MessageAction.Event).Select(md => md.QueueName).Distinct())
            {
                CreateTopic(queueName);
            }
        }