protected override void RegisterComponents(PoorMansIoC container) { container.RegisterType<InProcessMessageStore>(ComponentLifetime.SingleInstance); container.RegisterType<InProcessQueueSender>(ComponentLifetime.InstancePerDependency); container.RegisterType<InProcessTopicSender>(ComponentLifetime.InstancePerDependency); container.RegisterType<InProcessQueueReceiver>(ComponentLifetime.InstancePerDependency); container.RegisterType<InProcessSubscriptionReceiver>(ComponentLifetime.InstancePerDependency); container.RegisterType<InProcessDelayedDeliveryService>(ComponentLifetime.SingleInstance, typeof (IDelayedDeliveryService)); container.RegisterType<InProcessDeadLetterOffice>(ComponentLifetime.SingleInstance, typeof (IDeadLetterOffice)); container.RegisterType<NamespaceCleanser>(ComponentLifetime.SingleInstance, typeof (INamespaceCleanser)); container.RegisterType<UnsupportedLargeMessageBodyStore>(ComponentLifetime.SingleInstance, typeof (ILargeMessageBodyStore)); container.RegisterType<InProcessTransport>(ComponentLifetime.SingleInstance, typeof (INimbusTransport)); }
public void RegisterWith(PoorMansIoC container) { container.Register(TypeProvider, typeof(ITypeProvider)); container.Register(DependencyResolver, typeof(IDependencyResolver)); container.Register(Logger, typeof(ILogger)); container.Register(Serializer, typeof(ISerializer)); container.Register(Compressor, typeof(ICompressor)); container.Register(Router, typeof(IRouter)); container.Register(DeliveryRetryStrategy, typeof(IDeliveryRetryStrategy)); container.RegisterType<PathFactory>(ComponentLifetime.SingleInstance, typeof(IPathFactory)); container.RegisterType<ReplyQueueNameSetting>(ComponentLifetime.SingleInstance); container.RegisterType<RequestResponseCorrelator>(ComponentLifetime.SingleInstance); container.RegisterType<CommandMessagePumpsFactory>(ComponentLifetime.SingleInstance); container.RegisterType<RequestMessagePumpsFactory>(ComponentLifetime.SingleInstance); container.RegisterType<ResponseMessagePumpFactory>(ComponentLifetime.SingleInstance); container.RegisterType<MulticastRequestMessagePumpsFactory>(ComponentLifetime.SingleInstance); container.RegisterType<MulticastEventMessagePumpsFactory>(ComponentLifetime.SingleInstance); container.RegisterType<CompetingEventMessagePumpsFactory>(ComponentLifetime.SingleInstance); container.RegisterType<SystemClock>(ComponentLifetime.SingleInstance, typeof(IClock)); container.RegisterType<DispatchContextManager>(ComponentLifetime.SingleInstance, typeof(IDispatchContextManager)); container.RegisterType<ResponseMessageDispatcher>(ComponentLifetime.SingleInstance); container.RegisterType<HandlerMapper>(ComponentLifetime.SingleInstance, typeof(IHandlerMapper)); container.RegisterType<MessageDispatcherFactory>(ComponentLifetime.SingleInstance, typeof(IMessageDispatcherFactory)); container.RegisterType<InboundInterceptorFactory>(ComponentLifetime.SingleInstance, typeof(IInboundInterceptorFactory)); container.RegisterType<OutboundInterceptorFactory>(ComponentLifetime.SingleInstance, typeof(IOutboundInterceptorFactory)); container.RegisterType<PropertyInjector>(ComponentLifetime.SingleInstance, typeof(IPropertyInjector), typeof(PropertyInjector)); container.RegisterType<NimbusMessageFactory>(ComponentLifetime.SingleInstance, typeof(INimbusMessageFactory)); container.RegisterType<BusCommandSender>(ComponentLifetime.SingleInstance, typeof(ICommandSender)); container.RegisterType<BusRequestSender>(ComponentLifetime.SingleInstance, typeof(IRequestSender)); container.RegisterType<BusMulticastRequestSender>(ComponentLifetime.SingleInstance, typeof(IMulticastRequestSender)); container.RegisterType<BusEventSender>(ComponentLifetime.SingleInstance, typeof(IEventSender)); container.RegisterType<KnownMessageTypeVerifier>(ComponentLifetime.SingleInstance, typeof(IKnownMessageTypeVerifier)); container.RegisterType<Heartbeat>(ComponentLifetime.SingleInstance, typeof(IHeartbeat)); container.RegisterType<Bus>(ComponentLifetime.SingleInstance); container.RegisterType<GlobalHandlerThrottle>(ComponentLifetime.SingleInstance, typeof(IGlobalHandlerThrottle)); container.RegisterType<FilterConditionProvider>(ComponentLifetime.SingleInstance, typeof(IFilterConditionProvider)); container.RegisterType<MessagePump>(ComponentLifetime.InstancePerDependency); container.RegisterType<DefaultRetry>(ComponentLifetime.InstancePerDependency, typeof(IRetry)); }
protected override void RegisterComponents(PoorMansIoC container) { container.RegisterType<AzureServiceBusTransport>(ComponentLifetime.SingleInstance, typeof (INimbusTransport)); container.RegisterType<BrokeredMessageFactory>(ComponentLifetime.SingleInstance, typeof (IBrokeredMessageFactory)); container.RegisterType<NamespaceCleanser>(ComponentLifetime.SingleInstance); container.RegisterType<AzureQueueManager>(ComponentLifetime.SingleInstance, typeof (IQueueManager)); container.RegisterType<DelayedDeliveryService>(ComponentLifetime.SingleInstance, typeof (IDelayedDeliveryService)); container.RegisterType<AzureServiceBusDeadLetterOffice>(ComponentLifetime.SingleInstance, typeof (IDeadLetterOffice)); container.RegisterType<NamespaceCleanser>(ComponentLifetime.SingleInstance, typeof (INamespaceCleanser)); container.RegisterType<SqlFilterExpressionGenerator>(ComponentLifetime.SingleInstance, typeof(ISqlFilterExpressionGenerator)); container.Register(c => { var namespaceManagerRoundRobin = new RoundRobin<NamespaceManager>( c.Resolve<ServerConnectionCountSetting>(), () => { var namespaceManager = NamespaceManager.CreateFromConnectionString(c.Resolve<ConnectionStringSetting>()); namespaceManager.Settings.OperationTimeout = c.Resolve<DefaultTimeoutSetting>(); return namespaceManager; }, nsm => false, nsm => { }); return namespaceManagerRoundRobin; }, ComponentLifetime.SingleInstance); container.Register<Func<NamespaceManager>>(c => c.Resolve<RoundRobin<NamespaceManager>>().GetNext, ComponentLifetime.InstancePerDependency); container.Register(c => { var messagingFactoryRoundRobin = new RoundRobin<MessagingFactory>( container.Resolve<ServerConnectionCountSetting>(), () => { var messagingFactory = MessagingFactory.CreateFromConnectionString(c.Resolve<ConnectionStringSetting>()); messagingFactory.PrefetchCount = c.Resolve<ConcurrentHandlerLimitSetting>(); return messagingFactory; }, mf => mf.IsBorked(), mf => mf.Dispose()); return messagingFactoryRoundRobin; }, ComponentLifetime.SingleInstance); container.Register<Func<MessagingFactory>>(c => c.Resolve<RoundRobin<MessagingFactory>>().GetNext, ComponentLifetime.InstancePerDependency); }
protected override void RegisterComponents(PoorMansIoC container) { container.RegisterType<ConnectionMultiplexerFactory>(ComponentLifetime.SingleInstance); container.Register(c => new RoundRobin<ConnectionMultiplexer>(c.Resolve<ServerConnectionCountSetting>(), () => c.Resolve<ConnectionMultiplexerFactory>().Create(), multiplexer => false, multiplexer => multiplexer.Dispose()), ComponentLifetime.SingleInstance); container.Register<Func<ConnectionMultiplexer>>(c => c.Resolve<RoundRobin<ConnectionMultiplexer>>().GetNext, ComponentLifetime.InstancePerDependency); container.Register<Func<IDatabase>>(c => () => c.Resolve<Func<ConnectionMultiplexer>>()().GetDatabase(), ComponentLifetime.InstancePerDependency); container.RegisterType<RedisMessageSender>(ComponentLifetime.InstancePerDependency); container.RegisterType<RedisMessageReceiver>(ComponentLifetime.InstancePerDependency); container.RegisterType<RedisTopicSender>(ComponentLifetime.InstancePerDependency); container.RegisterType<RedisSubscriptionReceiver>(ComponentLifetime.InstancePerDependency); container.RegisterType<RedisDelayedDeliveryService>(ComponentLifetime.SingleInstance, typeof (IDelayedDeliveryService)); container.RegisterType<RedisDeadLetterOffice>(ComponentLifetime.SingleInstance, typeof (IDeadLetterOffice)); container.RegisterType<NamespaceCleanser>(ComponentLifetime.SingleInstance, typeof (INamespaceCleanser)); container.RegisterType<UnsupportedLargeMessageBodyStore>(ComponentLifetime.SingleInstance, typeof (ILargeMessageBodyStore)); container.RegisterType<RedisTransport>(ComponentLifetime.SingleInstance, typeof (INimbusTransport)); }
public override void Register <TLargeMessageBodyStore>(PoorMansIoC container) { container.RegisterType <UnsupportedLargeMessageBodyStore>(ComponentLifetime.SingleInstance, typeof(ILargeMessageBodyStore)); }
public override void RegisterSupportingComponents(PoorMansIoC container) { container.RegisterType <AzureBlobStorageHttpClient>(ComponentLifetime.SingleInstance, typeof(IAzureBlobStorageHttpClient)); container.RegisterType <AzureBlobStorageHttpLargeMessageBodyStore>(ComponentLifetime.SingleInstance); }