コード例 #1
0
        public override void Execute(ServiceBusConfiguration configuration)
        {
            var factoryTypes = new List<Type>();

            ReflectionService.GetAssemblies(AppDomain.CurrentDomain.BaseDirectory).ForEach(assembly => factoryTypes.AddRange(ReflectionService.GetTypes<IQueueFactory>(assembly)));

            foreach (var type in factoryTypes.Union(ReflectionService.GetTypes<IQueueFactory>()))
            {
                try
                {
                    type.AssertDefaultConstructor(string.Format(Resources.DefaultConstructorRequired,
                                                                "Queue factory", type.FullName));

                    var instance = (IQueueFactory)Activator.CreateInstance(type);

                    if (!configuration.Queues.ContainsQueueFactory(instance.Scheme))
                    {
                        configuration.Queues.RegisterQueueFactory(instance);
                    }
                }
                catch (Exception ex)
                {
                    Log.Warning(string.Format("Queue factory not instantiated: {0}", ex.Message));
                }
            }
        }
コード例 #2
0
        public override void Execute(ServiceBusConfiguration configuration)
        {
            var factoryTypes = new List <Type>();

            ReflectionService.GetAssemblies(AppDomain.CurrentDomain.BaseDirectory).ForEach(assembly => factoryTypes.AddRange(ReflectionService.GetTypes <IQueueFactory>(assembly)));

            foreach (var type in factoryTypes.Union(ReflectionService.GetTypes <IQueueFactory>()))
            {
                try
                {
                    type.AssertDefaultConstructor(string.Format(Resources.DefaultConstructorRequired,
                                                                "Queue factory", type.FullName));

                    var instance = (IQueueFactory)Activator.CreateInstance(type);

                    if (!configuration.Queues.ContainsQueueFactory(instance.Scheme))
                    {
                        configuration.Queues.RegisterQueueFactory(instance);
                    }
                }
                catch (Exception ex)
                {
                    Log.Warning(string.Format("Queue factory not instantiated: {0}", ex.Message));
                }
            }
        }
コード例 #3
0
        public ServiceBusStartupObserver(IServiceBus bus)
        {
            Guard.AgainstNull(bus, "bus");

            _bus           = bus;
            _configuration = (ServiceBusConfiguration)_bus.Configuration;
            _log           = Log.For(this);
        }
コード例 #4
0
        protected static ServiceBusConfiguration DefaultConfiguration(bool isTransactional)
        {
            var configuration = new ServiceBusConfiguration
                {
                    Serializer = new DefaultSerializer(),
                    MessageHandlerFactory = new DefaultMessageHandlerFactory(),
                    PipelineFactory = new DefaultPipelineFactory(),
                    ForwardingRouteProvider = new DefaultForwardingRouteProvider(),
                    TransactionScopeFactory = new DefaultTransactionScopeFactory(),
                    Policy = new DefaultServiceBusPolicy(),
                    ThreadActivityFactory = new DefaultThreadActivityFactory(),
                    TransactionScope = new TransactionScopeConfiguration
                        {
                            Enabled = isTransactional
                        }
                };

            return configuration;
        }
コード例 #5
0
        public static ServiceBusConfiguration Build(ServiceBusConfiguration configuration)
        {
            Guard.AgainstNull(configuration, "configuration");

            var tasks = new List<RegistrationTask>
                    {
                        new RegisterSharedConfigurationTask(),
                        new RegisterControlInboxQueueConfigurationTask(),
                        new RegisterInboxQueueConfigurationTask(),
                        new RegisterOutboxQueueConfigurationTask(),
                        new RegisterWorkerConfigurationTask()
                    };

            foreach (var task in tasks)
            {
                task.Execute(configuration);
            }

            return configuration;
        }
コード例 #6
0
 public abstract void Execute(ServiceBusConfiguration configuration);
コード例 #7
0
ファイル: InboxFixture.cs プロジェクト: nnyamhon/shuttle-esb
 public ConfigurationEventArgs(ServiceBusConfiguration configuration)
 {
     Configuration = configuration;
 }
コード例 #8
0
 public abstract void Execute(ServiceBusConfiguration configuration);