/// <summary>
        /// The basic consumer receives messages pushed from the broker.
        /// </summary>
        /// <param name="session">The model context for the consumer</param>
        /// <param name="messageConsumer"></param>
        /// <param name="inputAddress">The input address for messages received by the consumer</param>
        /// <param name="receivePipe">The receive pipe to dispatch messages</param>
        /// <param name="receiveObserver">The observer for receive events</param>
        /// <param name="context">The topology</param>
        /// <param name="deadLetterTransport"></param>
        /// <param name="errorTransport"></param>
        public ActiveMqBasicConsumer(SessionContext session, IMessageConsumer messageConsumer, Uri inputAddress, IPipe <ReceiveContext> receivePipe,
                                     IReceiveObserver receiveObserver, ActiveMqReceiveEndpointContext context,
                                     IDeadLetterTransport deadLetterTransport, IErrorTransport errorTransport)
        {
            _session             = session;
            _messageConsumer     = messageConsumer;
            _inputAddress        = inputAddress;
            _receivePipe         = receivePipe;
            _receiveObserver     = receiveObserver;
            _context             = context;
            _deadLetterTransport = deadLetterTransport;
            _errorTransport      = errorTransport;

            _tracker = new DeliveryTracker(HandleDeliveryComplete);

            _receiveSettings = session.GetPayload <ReceiveSettings>();

            _pending = new ConcurrentDictionary <string, ActiveMqReceiveContext>();

            _deliveryComplete = new TaskCompletionSource <bool>();

            messageConsumer.Listener += HandleMessage;

            SetReady();
        }
Beispiel #2
0
        public ActiveMqReceiveTransport(IActiveMqHost host, ReceiveSettings settings, IPipe <ConnectionContext> connectionPipe,
                                        ActiveMqReceiveEndpointContext receiveEndpointContext)
        {
            _host     = host;
            _settings = settings;
            _receiveEndpointContext = receiveEndpointContext;
            _connectionPipe         = connectionPipe;

            _inputAddress = receiveEndpointContext.InputAddress;
        }
Beispiel #3
0
 public ActiveMqConsumerFilter(IPipe <ReceiveContext> receivePipe, IReceiveObserver receiveObserver, IReceiveTransportObserver transportObserver,
                               ActiveMqReceiveEndpointContext context, IDeadLetterTransport deadLetterTransport, IErrorTransport errorTransport)
 {
     _receivePipe         = receivePipe;
     _receiveObserver     = receiveObserver;
     _transportObserver   = transportObserver;
     _context             = context;
     _deadLetterTransport = deadLetterTransport;
     _errorTransport      = errorTransport;
 }
        public ActiveMqReceiveTransport(IActiveMqHostConfiguration hostConfiguration, ReceiveSettings settings, IPipe <ConnectionContext> connectionPipe,
                                        ActiveMqReceiveEndpointContext context)
        {
            _hostConfiguration = hostConfiguration;

            _settings       = settings;
            _context        = context;
            _connectionPipe = connectionPipe;

            _inputAddress = context.InputAddress;
        }
Beispiel #5
0
        /// <summary>
        /// The basic consumer receives messages pushed from the broker.
        /// </summary>
        /// <param name="session">The model context for the consumer</param>
        /// <param name="messageConsumer"></param>
        /// <param name="context">The topology</param>
        public ActiveMqBasicConsumer(SessionContext session, IMessageConsumer messageConsumer, ActiveMqReceiveEndpointContext context)
        {
            _session         = session;
            _messageConsumer = messageConsumer;
            _context         = context;

            _receiveSettings = session.GetPayload <ReceiveSettings>();

            _deliveryComplete = TaskUtil.GetTask <bool>();

            _dispatcher = context.CreateReceivePipeDispatcher();
            _dispatcher.ZeroActivity += HandleDeliveryComplete;

            messageConsumer.Listener += HandleMessage;

            SetReady();
        }
Beispiel #6
0
        /// <summary>
        /// The basic consumer receives messages pushed from the broker.
        /// </summary>
        /// <param name="session">The model context for the consumer</param>
        /// <param name="messageConsumer"></param>
        /// <param name="inputAddress">The input address for messages received by the consumer</param>
        /// <param name="context">The topology</param>
        public ActiveMqBasicConsumer(SessionContext session, IMessageConsumer messageConsumer, Uri inputAddress, ActiveMqReceiveEndpointContext context)
        {
            _session         = session;
            _messageConsumer = messageConsumer;
            _inputAddress    = inputAddress;
            _context         = context;

            _tracker = new DeliveryTracker(HandleDeliveryComplete);

            _receiveSettings = session.GetPayload <ReceiveSettings>();

            _pending = new ConcurrentDictionary <string, ActiveMqReceiveContext>();

            _deliveryComplete = TaskUtil.GetTask <bool>();

            messageConsumer.Listener += HandleMessage;

            SetReady();
        }
 public ActiveMqReceiveContext(IMessage transportMessage, ActiveMqReceiveEndpointContext context, params object[] payloads)
     : base(transportMessage.NMSRedelivered, context, payloads)
 {
     TransportMessage = transportMessage;
 }
 public ActiveMqConsumerFilter(ActiveMqReceiveEndpointContext context)
 {
     _context = context;
 }
 public ActiveMqReceiveContext(Uri inputAddress, IMessage transportMessage, IReceiveObserver observer, ActiveMqReceiveEndpointContext context)
     : base(inputAddress, transportMessage.NMSRedelivered, observer, context)
 {
     _transportMessage = transportMessage;
     _context          = context;
 }
Beispiel #10
0
 public ActiveMqReceiveContext(Uri inputAddress, IMessage transportMessage, ActiveMqReceiveEndpointContext context, params object[] payloads)
     : base(inputAddress, transportMessage.NMSRedelivered, context, payloads)
 {
     _transportMessage = transportMessage;
 }