Exemplo n.º 1
0
        /// <summary>
        /// Adds Twino connector with configuration
        /// </summary>
        public static IServiceCollection AddTwinoBus <TIdentifier>(this IServiceCollection services, Action <TwinoConnectorBuilder> config)
        {
            TwinoConnectorBuilder builder = new TwinoConnectorBuilder(services);

            config(builder);

            TmqStickyConnector <TIdentifier> connector = builder.Build <TIdentifier>();

            AddConsumersMicrosoftDI(services, connector, builder);
            services.AddSingleton(connector);

            TwinoBus <TIdentifier> bus = (TwinoBus <TIdentifier>)connector.Bus;

            services.AddSingleton <ITwinoBus <TIdentifier> >(bus);
            services.AddSingleton <ITwinoDirectBus <TIdentifier> >((TwinoDirectBus <TIdentifier>)bus.Direct);
            services.AddSingleton <ITwinoQueueBus <TIdentifier> >((TwinoQueueBus <TIdentifier>)bus.Queue);
            services.AddSingleton <ITwinoRouteBus <TIdentifier> >((TwinoRouteBus <TIdentifier>)bus.Route);

            return(services);
        }
Exemplo n.º 2
0
 internal TmqStickyConnector(TimeSpan reconnectInterval, Func <TmqClient> createInstance = null) : base(reconnectInterval, createInstance)
 {
     Bus = new TwinoBus <TIdentifier>(this);
 }