/// <summary>
        /// Envía un mensaje para el procesamiento asíncrono a una cola de Tibco para
        /// el procesamiento de distribuciones XBRL
        /// </summary>
        /// <param name="idDocumentoInstancia">Identificador del documento de instancia a procesar</param>
        /// <param name="idVersion">Versión del documento de instancia a procesar</param>
        /// <returns>El resultado de la operación de envío a  la cola de TIBCO</returns>
        public ResultadoOperacionDto EnviarSolicitudProcesarXBRL(long idDocumentoInstancia, long idVersion, int reintento = 0)
        {
            var resultado = new ResultadoOperacionDto();

            LogUtil.Info("Enviando mensaje a la cola para procesamiento asíncrono de documento: " + idDocumentoInstancia + ", Version:" + idVersion);
            try
            {
                EmsTemplate.SendWithDelegate(ColaDestino,
                                             delegate(ISession session)
                {
                    MapMessage message = session.CreateMapMessage();
                    message.SetLong(DistribucionDocumentoConstants.PARAM_MENSAJE_ID_DOCUMENTO, idDocumentoInstancia);
                    message.SetLong(DistribucionDocumentoConstants.PARAM_MENSAJE_ID_VERSION, idVersion);
                    message.SetInt(DistribucionDocumentoConstants.PARAM_MENSAJE_REINTENTO, reintento);
                    return(message);
                });
                resultado.Resultado = true;
                LogUtil.Info("Mensaje enviado a la cola para procesamiento asíncrono de documento: " + idDocumentoInstancia + ", Version:" + idVersion);
            }
            catch (Exception ex) {
                LogUtil.Error("Ocurrió un error al enviar mensaje a la cola de mensajes: " + ColaDestino + ": \n\r" + ex.StackTrace);
                resultado.Resultado = false;
                resultado.Mensaje   = "Ocurrió un error al enviar mensaje a la cola de mensajes: " + ColaDestino + ": " + ex.Message;
                resultado.Excepcion = ex.StackTrace;
                LogUtil.Error(resultado);
            }
            return(resultado);
        }
Пример #2
0
 public void Publish(string ticker, double price)
 {
     emsTemplate.SendWithDelegate("APP.STOCK.MARKETDATA",
                                  delegate(ISession session)
     {
         MapMessage message = session.CreateMapMessage();
         message.SetString("TICKER", ticker);
         message.SetDouble("PRICE", price);
         message.Priority = 5;
         return(message);
     });
 }