コード例 #1
0
 public KafkaMessageReceiver(ReceiveEndpointContext context, IConsumerLockContext <TKey, TValue> lockContext, IHeadersDeserializer headersDeserializer)
 {
     _context             = context;
     _lockContext         = lockContext;
     _headersDeserializer = headersDeserializer;
     _dispatcher          = context.CreateReceivePipeDispatcher();
 }
コード例 #2
0
        public KafkaReceiveContext(ConsumeResult <TKey, TValue> result, ReceiveEndpointContext receiveEndpointContext,
                                   IConsumerLockContext <TKey, TValue> lockContext, IHeadersDeserializer headersDeserializer)
            : base(false, receiveEndpointContext)
        {
            _result              = result;
            _lockContext         = lockContext;
            _headersDeserializer = headersDeserializer;

            var consumeContext = new KafkaConsumeContext <TKey, TValue>(this, _result);

            AddOrUpdatePayload <ConsumeContext>(() => consumeContext, existing => consumeContext);
        }
コード例 #3
0
        public KafkaConsumerContext(IHostConfiguration hostConfiguration, ReceiveSettings receiveSettings, IHeadersDeserializer headersDeserializer,
                                    ConsumerBuilder <TKey, TValue> consumerBuilder, CancellationToken cancellationToken)
            : base(cancellationToken)
        {
            var lockContext = new ConsumerLockContext <TKey, TValue>(hostConfiguration, receiveSettings);

            _consumer = consumerBuilder
                        .SetPartitionsAssignedHandler(lockContext.OnAssigned)
                        .SetPartitionsRevokedHandler(lockContext.OnUnAssigned)
                        .SetErrorHandler(OnError)
                        .Build();
            ReceiveSettings     = receiveSettings;
            HeadersDeserializer = headersDeserializer;

            _lockContext = lockContext;
            _executor    = new ChannelExecutor(1);
        }