public void TestFixtureSetUp()
        {
            _container = new WindsorContainer();
            _container.Kernel.ComponentRegistered += Kernel_ComponentRegistered;
            String connectionString = ConfigurationManager.ConnectionStrings["log"].ConnectionString;
            var    rebusUrl         = new MongoUrl(connectionString);
            var    rebusClient      = rebusUrl.CreateClient(false);
            var    rebusDb          = rebusClient.GetDatabase(rebusUrl.DatabaseName);

            _messages = rebusDb.GetCollection <TrackedMessageModel>("messages");
            MongoDbMessagesTracker tracker = new MongoDbMessagesTracker(rebusDb);

            JarvisRebusConfiguration configuration = new JarvisRebusConfiguration(connectionString, "test")
            {
                ErrorQueue   = "jarvistest-errors",
                InputQueue   = "jarvistest-input",
                MaxRetry     = 3,
                NumOfWorkers = 1,
                EndpointsMap = new System.Collections.Generic.Dictionary <string, string>()
                {
                    { "Jarvis.Framework.Tests", "jarvistest-input" }
                }
            };

            configuration.AssembliesWithMessages = new List <System.Reflection.Assembly>()
            {
                typeof(SampleMessage).Assembly,
            };

            JarvisTestBusBootstrapper bb = new JarvisTestBusBootstrapper(
                _container,
                configuration,
                tracker);

            TestHelper.RegisterSerializerForFlatId <SampleAggregateId>();

            bb.Start();
            var rebusConfigurer = _container.Resolve <RebusConfigurer>();

            rebusConfigurer.Start();
            _bus = _container.Resolve <IBus>();

            _handler = new SampleCommandHandler();
            _commandExecutionExceptionHelper = new JarvisDefaultCommandExecutionExceptionHelper(NullLogger.Instance, 20, 10);
            var handlerAdapter = new MessageHandlerToCommandHandlerAdapter <SampleTestCommand>(_handler, _commandExecutionExceptionHelper, tracker, _bus);

            _container.Register(
                Component
                .For <IHandleMessages <SampleTestCommand> >()
                .Instance(handlerAdapter)
                );

            var handlerAggregateAdapter = new MessageHandlerToCommandHandlerAdapter <SampleAggregateTestCommand>(_handler, _commandExecutionExceptionHelper, tracker, _bus);

            _container.Register(
                Component
                .For <IHandleMessages <SampleAggregateTestCommand> >()
                .Instance(handlerAggregateAdapter)
                );
        }
示例#2
0
 protected MultiTenantInProcessCommandBus(
     ITenantAccessor tenantAccessor,
     IKernel kernel,
     IMessagesTracker messagesTracker,
     ICommandExecutionExceptionHelper commandExecutionExceptionHelper)
     : base(kernel, messagesTracker, commandExecutionExceptionHelper)
 {
     _tenantAccessor = tenantAccessor;
 }
示例#3
0
 protected InProcessCommandBus(
     IKernel kernel,
     IMessagesTracker messagesTracker,
     ICommandExecutionExceptionHelper commandExecutionExceptionHelper)
 {
     _kernel                          = kernel;
     _messagesTracker                 = messagesTracker;
     Logger                           = NullLogger.Instance;
     LoggerThreadContextManager       = NullLoggerThreadContextManager.Instance;
     _commandExecutionExceptionHelper = commandExecutionExceptionHelper;
 }
示例#4
0
 public MessageHandlerToCommandHandlerAdapter(
     ICommandHandler <T> commandHandler,
     ICommandExecutionExceptionHelper commandExecutionExceptionHelper,
     IMessagesTracker messagesTracker,
     IBus bus)
 {
     Logger = NullLogger.Instance;
     LoggerThreadContextManager = NullLoggerThreadContextManager.Instance;
     _commandHandler            = commandHandler;
     _messagesTracker           = messagesTracker;
     _bus = bus;
     _commandExecutionExceptionHelper = commandExecutionExceptionHelper;
 }