コード例 #1
0
        public CompositeSubscription SubscribeAsync <T>(PriorityAsyncSubscriptionOption <T> subscriptionOption)
        {
            TryConnectBeforeSubscribing();
            Func <IModel, IBasicConsumer> createConsumer = channel =>
                                                           _priorityConsumerManager.CreateAsyncConsumer(channel,
                                                                                                        subscriptionOption.SubscriptionName,
                                                                                                        subscriptionOption.MessageHandler,
                                                                                                        subscriptionOption.BatchSize <= 0
                                                                                           ? (ushort)1
                                                                                           : subscriptionOption.BatchSize);

            return(CreateSubscription <T>(subscriptionOption, createConsumer));
        }
コード例 #2
0
        public void SubscribeAsync <T>(string subscriptionName, uint maxPriorityLevel, Action <T> onReceiveMessage, Type comparerType = null, ushort?batchSize = null)
        {
            TryConnectBeforeSubscribing();
            Func <IModel, string, IBasicConsumer> createConsumer = (channel, consumerTag) => _priorityConsumerManager.CreateAsyncConsumer(channel, subscriptionName, onReceiveMessage, batchSize);

            CreateSubscription <T>(subscriptionName, maxPriorityLevel, createConsumer, comparerType);
        }