Пример #1
0
 public EventTransaction(RayGrain <TState, TStateKey> rayGrain)
 {
     this.rayGrain      = rayGrain;
     this.eventSourcing = rayGrain.eventSourcing;
     this.mqPublisher   = rayGrain.MQPublisher;
     this.State         = this.Clone(rayGrain.State);
 }
Пример #2
0
 public AccountsManager(ILogger <AccountsManager> logger, IMQPublisher mqPublisher,
                        IAccountRepository accountRepository, IAccountEntityService accountEntityService)
 {
     _log                  = logger;
     _mqPublisher          = mqPublisher;
     _accountRepository    = accountRepository;
     _accountEntityService = accountEntityService;
 }
 public CompaniesManager(ILogger <CompaniesManager> logger, IMQPublisher mqPublisher,
                         ICompanyRepository companyRepository, ICompanyEntityService companyEntityService)
 {
     _log                  = logger;
     _mqPublisher          = mqPublisher;
     _companyRepository    = companyRepository;
     _companyEntityService = companyEntityService;
 }
Пример #4
0
 public OrdersManager(ILogger <OrdersManager> logger, IMQPublisher mqPublisher,
                      IOrderHeaderRepository orderRepository, IOrderEntityService orderEntityService)
 {
     _log                = logger;
     _mqPublisher        = mqPublisher;
     _orderRepository    = orderRepository;
     _orderEntityService = orderEntityService;
 }
 public InvoicesManager(ILogger <InvoicesManager> logger, IMQPublisher mqPublisher,
                        IInvoiceRepository invoiceRepository, IInvoiceEntityService invoiceEntityService)
 {
     _log                  = logger;
     _mqPublisher          = mqPublisher;
     _invoiceRepository    = invoiceRepository;
     _invoiceEntityService = invoiceEntityService;
 }
Пример #6
0
        public override async Task OnActivateAsync()
        {
            this._eventProcessCore = await this.ServiceProvider.GetEventProcessCore <TState, TStateKey>(this)
                                     .Init(this.StateId, this.OnEventProcessing);

            this.MQPublisher = this.ServiceProvider.GetRequiredServiceByName <IMQPublisher>(this.GetType().FullName);
            await base.OnActivateAsync();
        }
 public ProductsManager(ILogger <ProductsManager> logger, IMQPublisher mqPublisher,
                        IProductRepository productRepository, IProductEntityService productEntityService)
 {
     _log                  = logger;
     _mqPublisher          = mqPublisher;
     _productRepository    = productRepository;
     _productEntityService = productEntityService;
 }
Пример #8
0
        public static Task <bool> PublishAsync(this IMQPublisher publisher, IEvent @event, MQPublishType publishType = MQPublishType.Asynchronous)
        {
            var options = GetAttributeOptions(@event.GetType());

            if (options == null)
            {
                throw new Exception($"No eventPublishAttribute is marked for {@event.GetType().FullName} events");
            }
            return(publisher.PublishAsync(@event, options.Topic, options.MQProvider, publishType));
        }
Пример #9
0
 public static async Task PublishAsync(this IMQPublisher publisher, IList <IEvent> events, string topic, string mqProviderName, MQPublishType publishType = MQPublishType.Asynchronous)
 {
     if (events == null || events.Count == 0)
     {
         return;
     }
     foreach (var e in events)
     {
         await publisher.PublishAsync(e, topic, mqProviderName, publishType);
     }
 }
Пример #10
0
 public static async Task PublishAsync(this IMQPublisher publisher, IList <IEvent> events, MQPublishType publishType = MQPublishType.Asynchronous)
 {
     if (events == null)
     {
         return;
     }
     foreach (var e in events)
     {
         await publisher.PublishAsync(e, publishType);
     }
 }
Пример #11
0
        /// <summary>
        /// Activate Grain
        /// </summary>
        /// <returns></returns>
        public override async Task OnActivateAsync()
        {
            try
            {
                this._eventBufferBlock      = new DataflowBufferBlock <EventTransactionModel <TStateKey> >(this.TriggerEventStorage);
                this._internalConfiguration = this.ServiceProvider.GetRequiredService <IInternalConfiguration>();
                this._mqPublisher           = this.ServiceProvider.GetRequiredService <IMQPublisher>();
                this._eventSourcing         = await this.ServiceProvider.GetEventSourcing <TState, TStateKey>(this).Init(this.StateId);

                this.State = await this._eventSourcing.ReadSnapshotAsync();

                this.PublishOptions = this._internalConfiguration.GetEventPublishOptions(this);
                await base.OnActivateAsync();
            }
            catch (Exception ex)
            {
                this.Logger.LogError(ex, $"{StateId} Activate Grain failure");
                throw ex;
            }
        }
 public MQPublisherActor(IMQPublisher mqPublisher, string topic)
 {
     MQPublisher = mqPublisher;
     Topic       = topic;
     RegisterMessageHandlers();
 }
Пример #13
0
 public ValuesController(MyDbContext myDbContext, IMQPublisher mpPublisher)
 {
     this.myDbContext = myDbContext;
     this.mpPublisher = mpPublisher;
 }
Пример #14
0
 /// <summary>
 /// 对管理端和生产端进行初始化
 /// </summary>
 /// <param name="manager"></param>
 /// <param name="publisher"></param>
 internal MQTransactionContent(IMQManager manager, IMQPublisher publisher)
 {
     ManagerInstance   = manager;
     PublisherInstance = publisher;
 }
Пример #15
0
 public MQRpcClient(IServiceProvider serviceProvider, IMQPublisher sender, ILogger <MQRpcClient> logger)
 {
     ServiceProvider = serviceProvider;
     Sender          = sender;
     Logger          = logger;
 }