Exemplo n.º 1
0
        void CreateVirtualHostDefinedInSettings(IRabbitMqTransportSettings settings)
        {
            RabbitMqManagementClient managmentClient = new RabbitMqManagementClient(settings);

            if (!managmentClient.GetVHosts().Any(vh => vh.Name == settings.VirtualHost))
            {
                var vhost          = managmentClient.CreateVirtualHost(settings.VirtualHost);
                var rabbitMqUser   = managmentClient.GetUsers().SingleOrDefault(x => x.Name == settings.Username);
                var permissionInfo = new PermissionInfo(rabbitMqUser, vhost);
                managmentClient.CreatePermission(permissionInfo);
            }
        }
Exemplo n.º 2
0
        public RabbitMqTransport(IRabbitMqTransportSettings settings)
        {
            var connectionString = settings.Server + settings.Port + settings.Username + settings.Password + settings.VirtualHost;

            CreateVirtualHostDefinedInSettings(settings);

            connectionFactory = connectionFactories.GetOrAdd(connectionString, x => new ConnectionFactory
            {
                HostName    = settings.Server,
                Port        = settings.Port,
                UserName    = settings.Username,
                Password    = settings.Password,
                VirtualHost = settings.VirtualHost,
                AutomaticRecoveryEnabled = false
            });
        }
Exemplo n.º 3
0
 public RabbitMqManagementClient(IRabbitMqTransportSettings settings) : this(settings.Server, settings.Username, settings.Password)
 {
 }