예제 #1
0
 public DefaultMessageConverter(
     IMessageHandlerFactoryStore messageHandlerFactoryStore,
     IMessageDescriptorResolver messageTopicResolver,
     ILogger <DefaultMessageConverter> logger = null)
 {
     _messageHandlerFactoryStore = messageHandlerFactoryStore;
     _messageTopicResolver       = messageTopicResolver;
     _logger = (ILogger)logger ?? NullLogger.Instance;
 }
예제 #2
0
 public MessageBus(
     IMessageHandlerFactoryStore messageHandlerFactoryStore,
     IMessagePublisher messagePublisher,
     IMessageScopeCreator scopeCreator,
     IMessageHandlerCaller messageHandlerCaller = null,
     ILogger <MessageBus> logger = null)
 {
     _messageHandlerFactoryStore = messageHandlerFactoryStore;
     _messagePublisher           = messagePublisher;
     _scopeCreator         = scopeCreator;
     _messageHandlerCaller = messageHandlerCaller ?? ReflectionMessageHandlerCaller.Instance;
     _logger = (ILogger)logger ?? NullLogger.Instance;
 }
예제 #3
0
        public void Install(IWindsorContainer container, IConfigurationStore store)
        {
            container.Register(
                Component
                .For <IMessageHandlerFactoryStore, MessageHandlerFactoryStore>()
                .ImplementedBy <MessageHandlerFactoryStore>()
                .LifestyleSingleton(),
                Component
                .For <IMessageHandlerCaller, ExpressionTreeMessageHandlerCaller>()
                .ImplementedBy <ExpressionTreeMessageHandlerCaller>()
                .LifestyleSingleton(),
                Component
                .For <IMessageBus, MessageBus>()
                .ImplementedBy <MessageBus>()
                .LifestyleTransient()
                );

            _messageHandlerFactoryStore           = container.Resolve <IMessageHandlerFactoryStore>();
            container.Kernel.ComponentRegistered += RegisterMessageHandler;
        }
예제 #4
0
 public MessageHandlerFactoryUnregistrar(IMessageHandlerFactoryStore factoryStore, Type messageType, IMessageHandlerFactory factory)
 {
     this._factoryStore = factoryStore;
     this._messageType  = messageType;
     this._factory      = factory;
 }