private void ConfigureContainer(ContainerBuilder builder)
        {
            BuildConfiguration();

            var brokerAddresses = Root["Kafka:BrokerAddresses"];

            _bussinessAssemblies = new[]
            {
                Assembly.GetExecutingAssembly()
            };

            _enodeConfiguration = ECommonConfiguration
                                  .Create()
                                  .UseAutofac(builder)
                                  .RegisterCommonComponents()
                                  .UseLog4Net()
                                  .UseJsonNet()
                                  .RegisterUnhandledExceptionHandler()
                                  .CreateENode(new ConfigurationSetting()
            {
                ProcessTryToRefreshAggregateIntervalMilliseconds = 1000
            })
                                  .RegisterENodeComponents()
                                  .UseEventStore(false)
                                  .UsePublishedVersionStore(false)
                                  .UseAggregateSnapshot(false)
                                  .RegisterBusinessComponents(_bussinessAssemblies)
                                  .InitializeKafka(GetIPEndPointFromAddresses(brokerAddresses))
                                  .UseKafka(false, false, false);
        }
Пример #2
0
 /// <summary>Create the enode configuration instance.
 /// </summary>
 /// <param name="configuration"></param>
 /// <returns></returns>
 public static ENodeConfiguration CreateENode(Configuration configuration, ConfigurationSetting setting)
 {
     Instance = new ENodeConfiguration(configuration, setting);
     return(Instance);
 }
Пример #3
0
 public static ENodeConfiguration CreateENode(this Configuration configuration, ConfigurationSetting setting = null)
 {
     return(ENodeConfiguration.CreateENode(configuration, setting ?? new ConfigurationSetting()));
 }
        /// <summary>Use the MySqlSequenceMessagePublishedVersionStore as the ISequenceMessagePublishedVersionStore.
        /// </summary>
        /// <returns></returns>
        public static ENodeConfiguration UseMySqlSequenceMessagePublishedVersionStore(this ENodeConfiguration configuration, OptionSetting optionSetting = null)
        {
            var _configuration = configuration.GetCommonConfiguration();

            _configuration.SetDefault <ISequenceMessagePublishedVersionStore, MySqlSequenceMessagePublishedVersionStore>(new MySqlSequenceMessagePublishedVersionStore(optionSetting ?? new OptionSetting(
                                                                                                                                                                           new KeyValuePair <string, object>("ConnectionString", configuration.Setting.SqlDefaultConnectionString),
                                                                                                                                                                           new KeyValuePair <string, object>("TableName", "SequenceMessagePublishedVersion"),
                                                                                                                                                                           new KeyValuePair <string, object>("PrimaryKeyName", "PK_SequenceMessagePublishedVersion"))));
            return(configuration);
        }