Esempio n. 1
0
        public static Configuration UseRabbitMQ(this Configuration configuration, Action <Setting> rabbitmqSetting = null)
        {
            using (var scope = ObjectContainer.BeginLifetimeScope())
            {
                var logger         = scope.Resolve <ILoggerFactory>();
                var jsonSerializer = scope.Resolve <IJsonSerializer>();
                var setting        = new Setting();
                rabbitmqSetting(setting);

                var factory = new ConnectionFactory()
                {
                    HostName    = setting.HostName,
                    Port        = setting.Port,
                    VirtualHost = setting.VirtualHost,
                    UserName    = setting.UserName,
                    Password    = setting.Password,
                    AutomaticRecoveryEnabled   = setting.AutomaticRecoveryEnabled,
                    RequestedConnectionTimeout = setting.RequestedConnectionTimeout
                };
                DefaultRabbitMQPersistentConnection conn = new DefaultRabbitMQPersistentConnection(factory, logger, jsonSerializer);

                configuration = configuration.SetDefault <IRabbitMQPersistentConnection, DefaultRabbitMQPersistentConnection>(conn);
            }
            return(configuration);
        }
Esempio n. 2
0
        public static Configuration UseRabbitMQ(this Configuration configuration, string hostName, string virtualHost, string userName, string passWord, int port = 5672)
        {
            using (var scope = ObjectContainer.BeginLifetimeScope())
            {
                var logger         = scope.Resolve <ILoggerFactory>();
                var jsonSerializer = scope.Resolve <IJsonSerializer>();

                var factory = new ConnectionFactory()
                {
                    HostName    = hostName ?? "localhost",
                    Port        = port,
                    VirtualHost = virtualHost ?? "/",
                    UserName    = userName ?? "guest",
                    Password    = passWord ?? "guest",
                    AutomaticRecoveryEnabled   = true,
                    RequestedConnectionTimeout = 15000
                };
                DefaultRabbitMQPersistentConnection conn = new DefaultRabbitMQPersistentConnection(factory, logger, jsonSerializer);

                configuration = configuration.SetDefault <IRabbitMQPersistentConnection, DefaultRabbitMQPersistentConnection>(conn);
            }
            return(configuration);
        }