public RabbitMQTransportOutputChannel(BindingContext context, EndpointAddress address, Uri via)
            : base(context, address, via)
        {
            _bindingElement = context.Binding.Elements.Find<RabbitMQTransportBindingElement>();

            MessageEncodingBindingElement encoderElement;

            if (_bindingElement.MessageFormat == MessageFormat.MTOM)
            {
                encoderElement = context.Binding.Elements.Find<MtomMessageEncodingBindingElement>();
            }
            else if (_bindingElement.MessageFormat == MessageFormat.NetBinary)
            {
                encoderElement = context.Binding.Elements.Find<BinaryMessageEncodingBindingElement>();
            }
            else
            {
                encoderElement = context.Binding.Elements.Find<TextMessageEncodingBindingElement>();
            }

            if (encoderElement != null)
            {
                _encoder = encoderElement.CreateMessageEncoderFactory().Encoder;
            }

            _messageProcessor = context.BindingParameters.Find<IFaultMessageProcessor>();
        }
 public RabbitMQOutputChannel(BindingContext context, IModel model, EndpointAddress address)
     : base(context, address)
 {
     m_bindingElement = context.Binding.Elements.Find<RabbitMQTransportBindingElement>();
     MessageEncodingBindingElement encoderElement = context.Binding.Elements.Find<MessageEncodingBindingElement>();
     if (encoderElement != null) {
         m_encoder = encoderElement.CreateMessageEncoderFactory().Encoder;
     }
     m_model = model;
 }
 public RabbitMQInputChannel(BindingContext context, IModel model, EndpointAddress address)
     : base(context, address)
 {
     m_bindingElement = context.Binding.Elements.Find<RabbitMQTransportBindingElement>();
     TextMessageEncodingBindingElement encoderElem = context.BindingParameters.Find<TextMessageEncodingBindingElement>();
     encoderElem.ReaderQuotas.MaxStringContentLength = (int)m_bindingElement.MaxReceivedMessageSize;
     if (encoderElem != null) {
         m_encoder = encoderElem.CreateMessageEncoderFactory().Encoder;
     }
     m_model = model;
     m_messageQueue = null;
 }
        public RabbitMQTransportInputChannel(BindingContext context, EndpointAddress address, bool autoDelete, string bindToExchange)
            : base(context, address)
        {
            m_autoDelete = autoDelete;
            m_bindToExchange = bindToExchange;
            m_bindingElement = context.Binding.Elements.Find<RabbitMQTransportBindingElement>();
            TextMessageEncodingBindingElement encoderElem = context.BindingParameters.Find<TextMessageEncodingBindingElement>();
            encoderElem.ReaderQuotas.MaxStringContentLength = (int)m_bindingElement.MaxReceivedMessageSize;
            m_encoder = encoderElem.CreateMessageEncoderFactory().Encoder;

            m_messageQueue = null;
        }
        public RabbitMQTransportInputChannel(BindingContext context, EndpointAddress address, string bindToExchange)
            : base(context, address)
        {
            _bindToExchange = bindToExchange;
            _bindingElement = context.Binding.Elements.Find<RabbitMQTransportBindingElement>();

            IEnumerable<MessageEncodingBindingElement> encoderElemements = context.BindingParameters.FindAll<MessageEncodingBindingElement>();

            foreach (MessageEncodingBindingElement encoderElem in encoderElemements)
            {
                MessageEncoder encoder = encoderElem.CreateMessageEncoderFactory().Encoder;

                if (encoder.ContentType == null)
                {
                    continue;
                }

                _encoders.Add(encoder.ContentType, encoder);
            }
        }
 private void Initialize()
 {
     lock (this)
     {
         if (!m_isInitialized)
         {
             m_transport = new RabbitMQTransportBindingElement();
             m_encoding = new TextMessageEncodingBindingElement(); // new TextMessageEncodingBindingElement();
             m_session = new ReliableSessionBindingElement();
             m_compositeDuplex = new CompositeDuplexBindingElement();
             m_transactionFlow = new TransactionFlowBindingElement();
             m_maxMessageSize = DefaultMaxMessageSize;
             m_isInitialized = true;
         }
     }
 }
Ejemplo n.º 7
0
        private void Initialize()
        {
            lock (this)
            {
                if (!_isInitialized)
                {
                    _transport = new RabbitMQTransportBindingElement();
                    _textEncoding = new TextMessageEncodingBindingElement();
                    _mtomEncoding = new MtomMessageEncodingBindingElement();
                    _binaryEncoding = new BinaryMessageEncodingBindingElement();

                    _duplex = new CompositeDuplexBindingElement();

                    _isInitialized = true;
                }
            }
        }
        private void Initialize()
        {
            lock (this)
            {
                if (!m_isInitialized)
                {
                    m_transport = new RabbitMQTransportBindingElement();
                    m_encoding = new TextMessageEncodingBindingElement();
                    m_duplex = new CompositeDuplexBindingElement();

                    m_maxMessageSize = DefaultMaxMessageSize;
                    m_isInitialized = true;
                }
            }
        }