public static void Bootstrap(IContainer container)
        {
            // Initialize container
            var configuration = new BusConfiguration();

            configuration.UseContainer <StructureMapBuilder>(c => c.ExistingContainer(container));

            // Define message conventions
            ConventionsBuilder conventions = configuration.Conventions();

            conventions.DefiningCommandsAs(MessageTypeConventions.EndsWith("Command"));
            conventions.DefiningEventsAs(MessageTypeConventions.EndsWith("Event"));
            conventions.DefiningMessagesAs(MessageTypeConventions.EndsWith("Message"));

            // Define features
            configuration.UseSerialization <JsonSerializer>();
            configuration.UsePersistence <InMemoryPersistence>();
            configuration.DisableFeature <Sagas>();
            configuration.DisableFeature <MessageDrivenSubscriptions>();
            configuration.DisableFeature <TimeoutManager>();

            // Add the bus to the container
            var bus = Bus.CreateSendOnly(configuration);

            container.Configure(c => c.ForSingletonOf <ISendOnlyBus>().Use(x => bus).Named("__NAME__"));
        }
        private void InitServiceBus(BusConfiguration config, IContainer container)
        {
            // Configure Logging
            NServiceBus.Logging.LogManager.Use <Log4NetFactory>();

            // Configure container
            config.UseContainer <StructureMapBuilder>(c => c.ExistingContainer(container));

            // Xml serialization makes for easy to read messages.
            config.UseSerialization <JsonSerializer>();

            //Define conventions
            ConventionsBuilder conventions = config.Conventions();

            conventions.DefiningCommandsAs(MessageTypeConventions.EndsWith("Command"));
            conventions.DefiningEventsAs(MessageTypeConventions.EndsWith("Event"));
            conventions.DefiningMessagesAs(MessageTypeConventions.EndsWith("Message"));

            // Keep it simple by default
            config.DisableFeature <SecondLevelRetries>();
            config.DisableFeature <AutoSubscribe>();
            config.DisableFeature <TimeoutManager>();
            config.DisableFeature <DataBus>();

            // Configure for MSMQ
            config.UseTransport <AzureServiceBusTransport>();
            config.PurgeOnStartup(false);

            // Configure Saga Persistence
            config.UsePersistence <InMemoryPersistence>();
        }
 public void RegisterAssemblyMessageHandlers() {
     var conventions = new MessageTypeConventions();
     conventions.AddConvention(x => x.IsInterface && x.Namespace == "CWServiceBus.Dispatch.TestData");
     messageHandlerCollection = new MessageHandlerCollection(conventions);
     messageHandlerCollection.AddAssemblyToScan(GetType().Assembly);
     messageHandlerCollection.Init();
 }
 public void Supports_Conventions() {
     var conventions = new MessageTypeConventions();
     conventions.AddConvention(x => x.Name.EndsWith("MessageWithoutHandler"));
     messageHandlerCollection = new MessageHandlerCollection(conventions);
     messageHandlerCollection.AddAssemblyToScan(GetType().Assembly);
     messageHandlerCollection.Init();
     messageHandlerCollection.AllMessageTypes().Contains(typeof(MessageWithoutHandler));
     Assert.IsEmpty(messageHandlerCollection.GetOrderedDispatchInfoFor(typeof(MessageWithoutHandler)));
 }
Exemplo n.º 5
0
        public void RegisterAssemblyMessageHandlers()
        {
            var conventions = new MessageTypeConventions();

            conventions.AddConvention(x => x.IsInterface && x.Namespace == "CWServiceBus.Dispatch.TestData");
            messageHandlerCollection = new MessageHandlerCollection(conventions);
            messageHandlerCollection.AddAssemblyToScan(GetType().Assembly);
            messageHandlerCollection.Init();
        }
Exemplo n.º 6
0
        public void Supports_Conventions()
        {
            var conventions = new MessageTypeConventions();

            conventions.AddConvention(x => x.Name.EndsWith("MessageWithoutHandler"));
            messageHandlerCollection = new MessageHandlerCollection(conventions);
            messageHandlerCollection.AddAssemblyToScan(GetType().Assembly);
            messageHandlerCollection.Init();
            messageHandlerCollection.AllMessageTypes().Contains(typeof(MessageWithoutHandler));
            Assert.IsEmpty(messageHandlerCollection.GetOrderedDispatchInfoFor(typeof(MessageWithoutHandler)));
        }
Exemplo n.º 7
0
 public MessageHandlerCollection(MessageTypeConventions messageTypeConventions)
 {
     this.messageTypeConventions = messageTypeConventions;
 }
Exemplo n.º 8
0
 public MessageHandlerCollection(MessageTypeConventions messageTypeConventions)
 {
     this.messageTypeConventions = messageTypeConventions;
 }
Exemplo n.º 9
0
 public MessageHandlerCollection()
 {
     this.messageTypeConventions = MessageTypeConventions.Default;
 }
 public MessageHandlerCollection() {
     this.messageTypeConventions = MessageTypeConventions.Default;
 }
Exemplo n.º 11
0
 public void SetMessageTypeConventions(MessageTypeConventions messageTypeCoventions)
 {
     this.messageTypeCoventions = messageTypeCoventions;
 }
Exemplo n.º 12
0
 public MessageMapper(MessageTypeConventions messageTypeCoventions)
 {
     this.messageTypeCoventions = messageTypeCoventions;
 }