Exemplo n.º 1
0
 public static IDisposable SubscribeOnQueueToMessage <T>(this IObservableConnection connection, ISubscriptionConfig config, IRabbitMessageHandler <T> handler)
 {
     return(connection.Queue(config.QueueName)
            .Open()
            .Stream <T>()
            .SubscribeWithAck(rm => { handler.Handle(rm.Message); }));
 }
Exemplo n.º 2
0
 public BatchSubscriptionHost(
     IObservableConnection connection,
     IRabbitMessageHandler <IEnumerable <T> > handler,
     IBatchSubscriptionConfig config, ILogger logger
     //            ,
     //            IEnumerable<IBatchRabbitMessageInterceptor<T>> interceptors
     )
 {
     logger.InfoFormat("Subscribing handler: {0} with Id {1}", config.Name, config.Id);
     Subscription = connection.SubscribeOnQueueToMessage(config, handler);
 }
Exemplo n.º 3
0
 public static IDisposable SubscribeOnQueueToMessage <T>(this IObservableConnection connection, IBatchSubscriptionConfig config, IRabbitMessageHandler <IEnumerable <T> > handler)
 {
     return(SubscribeWithAck(connection.Queue(config.QueueName)
                             .Open()
                             .Stream <T>()
                             .Buffer(config.BufferTimeout, config.BufferSize)
                             .Where(m => m.Any())
                             .Select(l => l.AsEnumerable()), l =>
     {
         var rabbitMessages = l.ToArray();
         handler.Handle(rabbitMessages.Select(m => m.Message));
     }));
 }
Exemplo n.º 4
0
 public static IDisposable SubscribeOnQueueToMessage <T>(this IObservableConnection connection, string exchange, string subscriberQueue, IRabbitMessageHandler <T> handler)
 {
     return(connection.SubscribeOnQueueToMessage(new DefaultSubscriptionConfig(subscriberQueue), handler));
 }