public PooledObjectFactory(IRabbitMQSetting rabbitMQSetting) { Check.NotNullOrWhiteSpace(rabbitMQSetting.Url, "Url"); _connectionFactory = new ConnectionFactory { Uri = new Uri(rabbitMQSetting.Url), AutomaticRecoveryEnabled = true }; }
public RabbitMQRemoteEventPublisher( IPoolManager poolManager, IRabbitMQSetting rabbitMQSetting, IRemoteEventSerializer remoteEventSerializer ) { _remoteEventSerializer = remoteEventSerializer; _connectionPool = poolManager.NewPool <IConnection>() .InitialSize(rabbitMQSetting.InitialSize) .MaxSize(rabbitMQSetting.MaxSize) .WithFactory(new PooledObjectFactory(rabbitMQSetting)) .Instance(); }
public IRabbitMQConfiguration Configure(IRabbitMQSetting setting) { _configuration.IocManager.IocContainer.Register( Component.For <IRemoteEventPublisher>() .ImplementedBy <RabbitMQRemoteEventPublisher>() .DependsOn(Castle.MicroKernel.Registration.Dependency.OnValue <IRabbitMQSetting>(setting)) .Named(Guid.NewGuid().ToString()) .LifestyleSingleton() .IsDefault() ); _configuration.IocManager.IocContainer.Register( Component.For <IRemoteEventSubscriber>() .ImplementedBy <RabbitMQRemoteEventSubscriber>() .DependsOn(Castle.MicroKernel.Registration.Dependency.OnValue <IRabbitMQSetting>(setting)) .Named(Guid.NewGuid().ToString()) .LifestyleSingleton() .IsDefault() ); return(this); }
public PooledObjectFactory(IRabbitMQSetting rabbitMQSetting) { _connectionFactory = new ConnectionFactory { AutomaticRecoveryEnabled = true }; if (!string.IsNullOrWhiteSpace(rabbitMQSetting.Url)) { var uri = new Uri(rabbitMQSetting.Url); _connectionFactory.Uri = uri; } else { _connectionFactory.HostName = rabbitMQSetting.HostName; _connectionFactory.Port = rabbitMQSetting.Port; //端口号 _connectionFactory.UserName = rabbitMQSetting.UserName; //用户账号 _connectionFactory.Password = rabbitMQSetting.Password; //用户密码 } _connectionFactory.Protocol = Protocols.DefaultProtocol; _connectionFactory.AutomaticRecoveryEnabled = true; //自动重连 _connectionFactory.RequestedFrameMax = UInt32.MaxValue; _connectionFactory.RequestedHeartbeat = UInt16.MaxValue; //心跳超时时间 }
public RabbitMQRemoteEventSubscriber(IRabbitMQSetting rabbitMQSetting) { _factory = new PooledObjectFactory(rabbitMQSetting); _dictionary = new ConcurrentDictionary <string, IModel>(); _connectionsAcquired = new List <IConnection>(); }