Ejemplo n.º 1
0
        public bool Send(
            string message,
            string routingKey,
            BasicPropertiesConfigInfo basicPropertiesConfigInfo)
        {
            IBasicProperties basicProperties = basicPropertiesConfigInfo == null ? (IBasicProperties)null : CommonLibrary.CreateBasicProperties(this.Channel, basicPropertiesConfigInfo);

            byte[] body = CommonLibrary.BinarySerialize(message);
            //try
            //{
            this.Channel.BasicPublish(this.producerConfigInfo.ExchangeName, routingKey, basicProperties, body);
            this.RepairException();
            return(true);
            //}
            //catch (Exception ex)
            //{
            //    //RecordLog.WriteLog("ExchangeName:" + this.producerConfigInfo.ExchangeName + ",RoutingKey:" + routingKey + ",发送失败:本次消息已记录到本地临时文件", this.producerConfigInfo.ExchangeName, routingKey, "", ex);
            //    this.SaveException(message, routingKey, this.producerConfigInfo, basicPropertiesConfigInfo);
            //    this.Dispose();
            //    return false;
            //}
        }
Ejemplo n.º 2
0
 private void SaveException(
     string message,
     string routingKey,
     ProducerConfigInfo producerConfigInfo,
     BasicPropertiesConfigInfo basicPropertiesConfigInfo)
 {
     this.exceptionStatus = Producer.ExceptionStatus.Exception;
     try
     {
         //this.wapper.Write(new MessageLocal()
         //{
         //    Message = message,
         //    RoutingKey = routingKey,
         //    BasicPropertiesConfigInfo = basicPropertiesConfigInfo,
         //    ProducerConfigInfo = producerConfigInfo
         //});
     }
     catch (Exception ex)
     {
         //  RecordLog.WriteLog("ExchangeName:" + producerConfigInfo.ExchangeName + ",RoutingKey:" + routingKey + ",Message:" + message + ",SaveException", producerConfigInfo.ExchangeName, routingKey, "", ex);
         throw ex;
     }
 }
Ejemplo n.º 3
0
        public static IBasicProperties CreateBasicProperties(
            IModel channel,
            BasicPropertiesConfigInfo configInfo)
        {
            IBasicProperties basicProperties = channel.CreateBasicProperties();

            if (configInfo.AppID != string.Empty)
            {
                basicProperties.AppId = configInfo.AppID;
            }
            if (configInfo.ClusterID != string.Empty)
            {
                basicProperties.ClusterId = configInfo.ClusterID;
            }
            if (configInfo.ContentEncoding != string.Empty)
            {
                basicProperties.ContentEncoding = configInfo.ContentEncoding;
            }
            if (configInfo.ContentType != string.Empty)
            {
                basicProperties.ContentType = configInfo.ContentType;
            }
            if (configInfo.CorrelationID != string.Empty)
            {
                basicProperties.CorrelationId = configInfo.CorrelationID;
            }
            basicProperties.DeliveryMode = configInfo.Durable ? Convert.ToByte(2) : Convert.ToByte(1);
            if (configInfo.Expiration > 0L)
            {
                basicProperties.Expiration = configInfo.Expiration.ToString();
            }
            if (configInfo.Headers != null)
            {
                basicProperties.Headers = (configInfo.Headers);
            }
            if (configInfo.MessageID != string.Empty)
            {
                basicProperties.MessageId = configInfo.MessageID;
            }
            if (configInfo.Priority != -1)
            {
                basicProperties.Priority = Convert.ToByte(configInfo.Priority);
            }
            if (configInfo.ReplyTo != string.Empty)
            {
                basicProperties.ReplyTo = configInfo.ReplyTo;
            }
            if (configInfo.Timestamp != -1L)
            {
                basicProperties.Timestamp = new AmqpTimestamp(configInfo.Timestamp);
            }
            if (configInfo.Type != string.Empty)
            {
                basicProperties.Type = configInfo.Type;
            }
            if (configInfo.UserID != string.Empty)
            {
                basicProperties.UserId = configInfo.UserID;
            }
            return(basicProperties);
        }