Ejemplo n.º 1
0
 private void ObjMainReader_Rx(object sender, RoutingFrame e)
 {
     if (e.FrameType == RoutingFrameType.Control)
     {
         var objConsumerRouter = new ConsumerRouter(QueueCache.GetSenderQueue(QueueType.Consumer, e.SourceID, false));
         ControlFactory.Processor.Process(objConsumerRouter, e);
     }
     else
     {
         var objPublisherRouter = new PublisherRouter(
             QueueCache.GetSenderQueue(QueueType.Consumer, e.SourceID, false),
             ReaderQueue,
             QueueCache.GetSenderQueue(QueueType.Publisher, e.DestinationID, false)
             );
         MessagingFactory.Processor.Process(objPublisherRouter, e.Data);
     }
 }
 private bool Handle(string pType, PublisherRouter pRouter, IRequestMessage pMessage)
 {
     try {
         var objHandler      = MessagingFactory.Provider.GetSubscriptionHandler(pMessage);
         var blnResult       = (bool)objHandler.GetType().GetMethod(pType).Invoke(objHandler, new object[] { pRouter, pMessage });
         var objResponse     = new ACKResponse(pMessage, new ResponseStatus((blnResult) ? ResponseState.Success : ResponseState.Error));
         var arrBytes        = MessagingFactory.Converter.GetByteArray(objResponse);
         var objRoutingFrame = new RoutingFrame(
             RoutingFrameType.Messaging,
             objResponse.Type,
             objResponse.ID,
             pRouter.SourceID,
             pRouter.DestinationID,
             arrBytes
             );
         Log.Debug($"Sending response for request {pMessage.ID}  to {pRouter.ConsumerQueue.QueueName}");
         pRouter.ConsumerQueue.Transmit(objRoutingFrame);
         return(blnResult);
     } catch (Exception ex) {
         Log.Error(ex);
     }
     return(false);
 }
Ejemplo n.º 3
0
 public Executor(PublisherRouter pRouter)
 {
     Router = pRouter;
 }