コード例 #1
0
        public void Configure(AbstractRhinoServiceBusConfiguration config, IBusContainerBuilder builder)
        {
            var oneWayConfig = config as OnewayRhinoServiceBusConfiguration;
            if (oneWayConfig == null)
                return;

            var messageOwners = new List<MessageOwner>();
            var messageOwnersReader = new MessageOwnersConfigReader(config.ConfigurationSection, messageOwners);
            messageOwnersReader.ReadMessageOwners();
            oneWayConfig.MessageOwners = messageOwners.ToArray();
            // JED - TODO
            // Bad coupling - extend or rewrite?
            var scheme = messageOwnersReader.EndpointScheme;
            if (IsRhinoQueues(scheme))
            {
                builder.RegisterRhinoQueuesOneWay();
            }
            else if (IsMsmq(scheme))
            {
                builder.RegisterMsmqOneWay();
            }
            else if (IsAmazonSQS(scheme))
            {
                builder.RegisterAmazonSQSOneWay();
            }
            else
            {
                throw new ApplicationException(string.Format("Unknown endpoint scheme '{0}'", scheme));
            }
        }
コード例 #2
0
        public void Configure(AbstractRhinoServiceBusConfiguration config, IBusContainerBuilder builder, IServiceLocator locator)
        {
            var oneWayConfig = config as OnewayRhinoServiceBusConfiguration;
            if (oneWayConfig == null)
                return;

            var messageOwners = new List<MessageOwner>();
            var messageOwnersReader = new MessageOwnersConfigReader(config.ConfigurationSection, messageOwners);
            messageOwnersReader.ReadMessageOwners();

            if (!messageOwnersReader.EndpointScheme.Equals("rhino.queues", StringComparison.InvariantCultureIgnoreCase))
                return;

            oneWayConfig.MessageOwners = messageOwners.ToArray();
            RegisterRhinoQueuesOneWay(config, builder, locator);
        }
コード例 #3
0
        public void Configure(AbstractRhinoServiceBusConfiguration config, IBusContainerBuilder builder)
        {
            var oneWayConfig = config as OnewayRhinoServiceBusConfiguration;
            if (oneWayConfig == null)
                return;

            var messageOwners = new List<MessageOwner>();
            var messageOwnersReader = new MessageOwnersConfigReader(config.ConfigurationSection, messageOwners);
            messageOwnersReader.ReadMessageOwners();
            oneWayConfig.MessageOwners = messageOwners.ToArray();
            if (IsRhinoQueues(messageOwnersReader.EndpointScheme))
            {
                builder.RegisterRhinoQueuesOneWay();
            }
            else
            {
                builder.RegisterMsmqOneWay();
            }
        }
コード例 #4
0
        protected override void Init()
        {
            var messageOwnersReader = new MessageOwnersConfigReader(FacilityConfig, messageOwners);

            messageOwnersReader.ReadMessageOwners();
            if (IsRhinoQueues(messageOwnersReader.EndpointScheme))
            {
                Kernel.Register(
                    Component.For <IMessageBuilder <MessagePayload> >()
                    .ImplementedBy <RhinoQueuesMessageBuilder>()
                    .LifeStyle.Is(LifestyleType.Singleton),
                    Component.For <IOnewayBus>()
                    .LifeStyle.Is(LifestyleType.Singleton)
                    .ImplementedBy <RhinoQueuesOneWayBus>()
                    .DependsOn(new
                {
                    messageOwners = messageOwners.ToArray(),
                })
                    );
            }
            else
            {
                Kernel.Register(
                    Component.For <IMessageBuilder <Message> >()
                    .LifeStyle.Is(LifestyleType.Singleton)
                    .ImplementedBy <MsmqMessageBuilder>(),
                    Component.For <IOnewayBus>()
                    .LifeStyle.Is(LifestyleType.Singleton)
                    .ImplementedBy <MsmqOnewayBus>()
                    .DependsOn(new { messageOwners = messageOwners.ToArray() }));
            }
            Kernel.Register(
                Component.For <IReflection>()
                .LifeStyle.Is(LifestyleType.Singleton)
                .ImplementedBy <DefaultReflection>(),
                Component.For <IMessageSerializer>()
                .LifeStyle.Is(LifestyleType.Singleton)
                .ImplementedBy(serializerImpl),
                Component.For <IEndpointRouter>()
                .ImplementedBy <EndpointRouter>()
                );
        }