Esempio n. 1
0
        public void SetUp()
        {
            var config = Configure.With(new[] { GetType().Assembly })
                         .DefaultBuilder()
                         .EmbeddedRavenSubscriptionStorage();

            subscriptionStorage = config.Builder.Build <RavenSubscriptionStorage>();
        }
        public void SetUp()
        {
            var config = Configure.With(new[] { GetType().Assembly })
                .DefaultBuilder()
                .EmbeddedRavenSubscriptionStorage();

            subscriptionStorage = config.Builder.Build<RavenSubscriptionStorage>();
        }
        public void SetUp()
        {
            using (var server = GetNewServer())
            {
                connectionStringName = "Raven";

                var config = Configure.With(new[] {GetType().Assembly})
                    .DefaultBuilder()
                    .RavenSubscriptionStorage(connectionStringName);

                subscriptionStorage = config.Builder.Build<RavenSubscriptionStorage>();
            }
        }
Esempio n. 4
0
        public void SetUp()
        {
            var config = Configure.With(new[] { GetType().Assembly })
                         .DefineEndpointName("MyEndpoint")
                         .DefaultBuilder()
                         .RavenPersistence();

            store = config.Builder.Build <IDocumentStore>();

            config = config.RavenSubscriptionStorage();

            subscriptionStorage = config.Builder.Build <RavenSubscriptionStorage>();
        }
Esempio n. 5
0
        public void SetUp()
        {
            using (var server = GetNewServer())
            {
                connectionStringName = "Raven";

                var config = Configure.With(new[] { GetType().Assembly })
                             .DefaultBuilder()
                             .RavenSubscriptionStorage(connectionStringName);

                subscriptionStorage = config.Builder.Build <RavenSubscriptionStorage>();
            }
        }
        public void SetUp()
        {
            using (var server = GetNewServer())
            {
                var config = Configure.With(new[] {GetType().Assembly})
                    .DefaultBuilder()
                    .RavenPersistence();

                store = config.Builder.Build<IDocumentStore>();

                config = config.RavenSubscriptionStorage();

                subscriptionStorage = config.Builder.Build<RavenSubscriptionStorage>();
            }
        }
        public void SetUp()
        {
            using (var server = GetNewServer())
            {
                var config = Configure.With(new[] { GetType().Assembly })
                             .DefaultBuilder()
                             .RavenPersistence();

                store = config.Builder.Build <IDocumentStore>();

                config = config.RavenSubscriptionStorage();

                subscriptionStorage = config.Builder.Build <RavenSubscriptionStorage>();
            }
        }
    public override void Run()
    {
        using (var store = new DocumentStore())
        {
            store.Url = "http://localhost:8080";
            store.Initialize();

            var ravenStorage = new RavenSubscriptionStorage(new StoreAccessor(store));

            ravenStorage.Init();

            var subscriptionStorage = (ISubscriptionStorage)ravenStorage;
            var testEventMessage    = new MessageType(typeof(TestEvent));

            for (var i = 0; i < NumberOfSubscribers; i++)
            {
                subscriptionStorage.Subscribe(Address.Parse("endpoint" + i), new List <MessageType>
                {
                    testEventMessage
                });
            }

            var sw = new Stopwatch();


            sw.Start();
            Parallel.For(
                0,
                NumberMessages,
                new ParallelOptions {
                MaxDegreeOfParallelism = NumberOfThreads
            },
                x =>
            {
                using (var tx = new TransactionScope())
                {
                    subscriptionStorage.GetSubscriberAddressesForMessage(new[] { new MessageType(typeof(TestEvent)) });

                    tx.Complete();
                }
            });
            sw.Stop();

            var elapsedMS = sw.ElapsedMilliseconds;

            Console.Out.WriteLine("Average (ms): {0} - Total:{1}", NumberMessages / elapsedMS, elapsedMS);
        }
    }
Esempio n. 9
0
        protected override void Load(ContainerBuilder builder)
        {
            IWireup wireup = new WireupModule();

            wireup = wireup.Configure <LoggingWireup>()
                     .UseLog4Net();

            wireup = wireup.Configure <TransportWireup>()
                     .ReceiveWith(1.Threads());    // number of threads to use for handlers

            wireup = wireup.Configure <SerializationWireup>()
                     .WithJsonSerializer()
                     .CompressMessages();

            wireup = wireup.Configure <EndpointWireup>()
                     .ListenOn("msmq://./Sample.AppService")
                     .ForwardPoisonMessagesTo("msmq://./Sample.Error")
                     .RetryAtLeast(3.Times());

            IDocumentStore store = new DocumentStore()
            {
                ConnectionStringName = "SubscriptionStorage"
            };

            store.Initialize();
            // maybe register the store in the container?

            RavenSubscriptionStorage subscriptionStorage = new RavenSubscriptionStorage(store);

            builder.RegisterInstance <RavenSubscriptionStorage>(subscriptionStorage)
            .As <IStoreSubscriptions>()
            .SingleInstance()
            .ExternallyOwned();

            wireup = wireup.Configure <SubscriptionStorageWireup>()
                     .WithCustomSubscriptionStorage(subscriptionStorage);
            //            .ConnectTo("SubscriptionStorage");

            Type[] commandTypes = new Type[] {
                typeof(CreatePerson),
                typeof(MovePerson),
                typeof(KillPerson),
                typeof(CreateDocument),
                typeof(CreateShareClass),
                typeof(AssociateShareClassToDocument)
            };

            wireup = wireup.Configure <MessageBusWireup>()
                     .RegisterMessageEndpoint("msmq://./Sample.AppService", commandTypes)
                     .RegisterMessageTimeToLive(TimeSpan.MaxValue, commandTypes)
                     .RegisterTransientMessage(commandTypes);

            builder.RegisterType <CreatePersonCommandHandler>();
            builder.RegisterType <MovePersonCommandHandler>();
            builder.RegisterType <KillPersonCommandHandler>();

            builder.RegisterType <CreateDocumentCommandHandler>();
            builder.RegisterType <CreateShareClassCommandHandler>();
            builder.RegisterType <AssociateShareClassToDocumentCommandHandler>();


            wireup = wireup.Configure <MessageHandlerWireup>()
                     .AddHandler(c => c.Resolve <CreatePersonCommandHandler>())
                     .AddHandler(c => c.Resolve <MovePersonCommandHandler>())
                     .AddHandler(c => c.Resolve <KillPersonCommandHandler>())
                     .AddHandler(c => c.Resolve <CreateDocumentCommandHandler>())
                     .AddHandler(c => c.Resolve <CreateShareClassCommandHandler>())
                     .AddHandler(c => c.Resolve <AssociateShareClassToDocumentCommandHandler>());

            wireup.Register(builder);

            builder.RegisterType <TransactionScopeUnitOfWork>()
            .As <IHandleUnitOfWork>()
            .InstancePerLifetimeScope()
            .ExternallyOwned();
        }