コード例 #1
0
        /// <summary>
        /// Publishes message
        /// </summary>
        public static void Publish <T>(this IMqPublisher publisher, T msg)
            where T : class
        {
            if (publisher == null)
            {
                throw new ArgumentNullException(nameof(publisher));
            }
            if (msg == null)
            {
                throw new ArgumentNullException(nameof(msg));
            }

            publisher.Publish(new OutgoingMqEnvelop <T>
            {
                Message = new MqMessage <T>(msg)
            });
        }
コード例 #2
0
        /// <summary>
        /// Publishes message in queue
        /// </summary>
        public static void PublishToQueue <T>(this IMqPublisher publisher, T msg, string queueName)
            where T : class
        {
            if (publisher == null)
            {
                throw new ArgumentNullException(nameof(publisher));
            }
            if (msg == null)
            {
                throw new ArgumentNullException(nameof(msg));
            }

            publisher.Publish(new OutgoingMqEnvelop <T>
            {
                PublishTarget = new PublishTarget {
                    Routing = queueName
                },
                Message = new MqMessage <T>(msg)
            });
        }
コード例 #3
0
        public Logic(
            IRedisService redis,
            IMqPublisher mqPublisher,
            IOptions <AsyncProcessorOptions> options,
            ILogger <Logic> logger = null)
        {
            _mqPublisher = mqPublisher;
            _redis       = redis;
            _options     = options.Value;

            var log = logger?.Dsl();

            var callBackQueue = _options?.Callback;

            if (!string.IsNullOrEmpty(callBackQueue))
            {
                _callbackReporter = new CallbackReporter(_mqPublisher, callBackQueue)
                {
                    Log = log
                }
            }
            ;
        }
コード例 #4
0
 public OrderController(IMqPublisher busPublisher)
 {
     _eventBus = busPublisher;
 }
コード例 #5
0
 public ShippingRequestHandler(IServiceProvider serviceProvider)
 {
     _serviceProvider = serviceProvider;
     mqPublisher      = _serviceProvider.GetService(typeof(IMqPublisher)) as IMqPublisher;
 }
コード例 #6
0
 public CallbackReporter(IMqPublisher mqPublisher, string callbackQueue)
 {
     _mqPublisher   = mqPublisher;
     _callbackQueue = callbackQueue;
 }
コード例 #7
0
 public TestController(IMqPublisher publisher)
 {
     _publisher = publisher;
 }