コード例 #1
0
        public BusBuilder Configure(IAutoConfigurationModel autoConfigurationModel)
        {
            var autoConfigurator = new AutoConfigurator();

            autoConfigurator.Configure(_configurationContext.ConfigurationModel, autoConfigurationModel);
            return(this);
        }
コード例 #2
0
ファイル: AutoConfigurator.cs プロジェクト: avieru/rabbitBus
		void ConfigurePublish(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel, Type type)
		{
			foreach (IPublishConfigurationConvention convention in autoConfigurationModel.PublishConfigurationConventions)
			{
				if (convention.ShouldRegister(type))
				{
					PublishInfo publishInfo = GetPublishInfo(type, convention);
					configurationModel.PublishRouteConfiguration.AddPolicy<MappingRouteInfoLookupStrategy<IPublishInfo>>(type, publishInfo);
				}
			}
		}
コード例 #3
0
ファイル: AutoConfigurator.cs プロジェクト: niaoked/rabbitBus
 void ConfigurePublish(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel, Type type)
 {
     foreach (IPublishConfigurationConvention convention in autoConfigurationModel.PublishConfigurationConventions)
     {
         if (convention.ShouldRegister(type))
         {
             PublishInfo publishInfo = GetPublishInfo(type, convention);
             configurationModel.PublishRouteConfiguration.AddPolicy <MappingRouteInfoLookupStrategy <IPublishInfo> >(type, publishInfo);
         }
     }
 }
コード例 #4
0
ファイル: AutoConfigurator.cs プロジェクト: avieru/rabbitBus
		public void Configure(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel)
		{
			foreach (Assembly assembly in autoConfigurationModel.Assemblies)
			{
				foreach (Type type in assembly.GetTypes())
				{
					ConfigureConsume(configurationModel, autoConfigurationModel, type);
					ConfigurePublish(configurationModel, autoConfigurationModel, type);
					ConfigureSubscriptions(configurationModel, autoConfigurationModel, type);
				}
			}
		}
コード例 #5
0
ファイル: AutoConfigurator.cs プロジェクト: niaoked/rabbitBus
 public void Configure(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel)
 {
     foreach (Assembly assembly in autoConfigurationModel.Assemblies)
     {
         foreach (Type type in assembly.GetTypes())
         {
             ConfigureConsume(configurationModel, autoConfigurationModel, type);
             ConfigurePublish(configurationModel, autoConfigurationModel, type);
             ConfigureSubscriptions(configurationModel, autoConfigurationModel, type);
         }
     }
 }
コード例 #6
0
ファイル: AutoConfigurator.cs プロジェクト: avieru/rabbitBus
		static void ConfigureConsume(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel,
		                             Type type)
		{
			foreach (IConsumeConfigurationConvention convention in autoConfigurationModel.ConsumeConfigurationConventions)
			{
				if (convention.ShouldRegister(type))
				{
					ConsumeInfo consumeInfo = GetConsumeInfo(type, convention);

					configurationModel.ConsumeRouteConfiguration
						.AddPolicy<MappingRouteInfoLookupStrategy<IConsumeInfo>>(type, consumeInfo);
				}
			}
		}
コード例 #7
0
ファイル: AutoConfigurator.cs プロジェクト: niaoked/rabbitBus
        static void ConfigureConsume(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel,
                                     Type type)
        {
            foreach (IConsumeConfigurationConvention convention in autoConfigurationModel.ConsumeConfigurationConventions)
            {
                if (convention.ShouldRegister(type))
                {
                    ConsumeInfo consumeInfo = GetConsumeInfo(type, convention);

                    configurationModel.ConsumeRouteConfiguration
                    .AddPolicy <MappingRouteInfoLookupStrategy <IConsumeInfo> >(type, consumeInfo);
                }
            }
        }
コード例 #8
0
ファイル: AutoConfigurator.cs プロジェクト: avieru/rabbitBus
		void ConfigureSubscriptions(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel, Type handlerType)
		{
			foreach (ISubscriptionConvention convention in autoConfigurationModel.SubscriptionConventions)
			{
				if (convention.ShouldRegister(handlerType))
				{
					object handler = autoConfigurationModel.DependencyResolver.Resolve(handlerType);
					Type messageType = convention.GetMessageType(handler);
					MethodInfo openGetMessageHandlerMethodInfo =
						typeof (ISubscriptionConvention).GetMethod("GetMessageHandler", BindingFlags.Instance | BindingFlags.Public);
					MethodInfo closedGetMessageHandlerMethodInfo =
						openGetMessageHandlerMethodInfo.MakeGenericMethod(new[] {messageType});
					object messageHandler = closedGetMessageHandlerMethodInfo.Invoke(convention, new[] {handler});
					configurationModel.AutoSubscriptions.Add(new AutoSubscription(messageType, messageHandler));
				}
			}
		}
コード例 #9
0
ファイル: AutoConfigurator.cs プロジェクト: niaoked/rabbitBus
 void ConfigureSubscriptions(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel, Type handlerType)
 {
     foreach (ISubscriptionConvention convention in autoConfigurationModel.SubscriptionConventions)
     {
         if (convention.ShouldRegister(handlerType))
         {
             object     handler     = autoConfigurationModel.DependencyResolver.Resolve(handlerType);
             Type       messageType = convention.GetMessageType(handler);
             MethodInfo openGetMessageHandlerMethodInfo =
                 typeof(ISubscriptionConvention).GetMethod("GetMessageHandler", BindingFlags.Instance | BindingFlags.Public);
             MethodInfo closedGetMessageHandlerMethodInfo =
                 openGetMessageHandlerMethodInfo.MakeGenericMethod(new[] { messageType });
             object messageHandler = closedGetMessageHandlerMethodInfo.Invoke(convention, new[] { handler });
             configurationModel.AutoSubscriptions.Add(new AutoSubscription(messageType, messageHandler));
         }
     }
 }
コード例 #10
0
ファイル: BusBuilder.cs プロジェクト: yonglehou/rabbitBus
		public BusBuilder Configure(IAutoConfigurationModel autoConfigurationModel)
		{
			var autoConfigurator = new AutoConfigurator();
			autoConfigurator.Configure(_configurationContext.ConfigurationModel, autoConfigurationModel);
			return this;
		}