public static IAutobusBuilder UseRabbitMQTransport(
            this IAutobusBuilder autobusBuilder,
            IConfiguration configuration) =>
        autobusBuilder.UseRabbitMQTransport(builder =>
        {
            configuration = configuration.GetSection("RabbitMQ");
            builder.ConfigureConnectionFactory(connectionFactory =>
            {
                connectionFactory.HostName    = configuration.GetValue("HostName", "localhost");
                connectionFactory.Port        = configuration.GetValue("Port", 5672);
                connectionFactory.VirtualHost = configuration.GetValue("VirtualHost", ConnectionFactory.DefaultVHost);
                connectionFactory.UserName    = configuration.GetValue("UserName", ConnectionFactory.DefaultUser);
                connectionFactory.Password    = configuration.GetValue("Password", ConnectionFactory.DefaultPass);
            });

            var prefetchSize  = configuration.GetValue("Qos:PrefetchSize", 0U);
            var prefetchCount = configuration.GetValue <ushort>("Qos:PrefetchCount", 0);
            builder.ConfigureQos(prefetchSize, prefetchCount);

            if (configuration.GetValue("UseConsistentHashing", false))
            {
                builder.UseConsistentHashing();
            }
        });
Пример #2
0
 public static IAutobusBuilder UseSerilog(this IAutobusBuilder builder) =>
 builder.UseLogger(new AutobusSerilogLogger());
Пример #3
0
 public static IAutobusBuilder UseRabbitMQTransport(this IAutobusBuilder builder, Action <RabbitMQTransportBuilder> onBuild) =>
 builder.UseTransport(onBuild);
Пример #4
0
 public static IAutobusBuilder UseJsonSerialization(this IAutobusBuilder builder) =>
 builder.UseSerializer <JsonSerializationProvider>();
Пример #5
0
 public static IAutobusBuilder UseBinaryRecordsSerialization(this IAutobusBuilder builder) => builder.UseSerializer <BinaryRecordsSerializationProvider>();