public static void Main(string[] args) { AbstractSerializer.RegisterKnownType(typeof(UserCreatedEvent)); // Create serializers after registering known types ISerializer[] Serializers = { new DataContractSerializer(), new ProtoBufSerializer(), new BsonNetSerializer(), new JsonNetSerializer() }; foreach (Func <IAppendOnlyStore> aStoreBuilder in AppendOnlyStores) { foreach (ISerializer serializer in Serializers) { UserId id = new UserId(1); List <IEvent> events = new List <IEvent>() { new UserCreatedEvent(id, "John") }; IAppendOnlyStore aStore = aStoreBuilder(); try { EventStoreDB eStore = new EventStoreDB(aStore, serializer); eStore.Append(id, 0, events); // Warm up various caches for (int i = 0; i < 10; ++i) { EventStream s = eStore.Load(id); eStore.Append(id, s.Version, events); } int count = 0; DateTime t1 = DateTime.Now; do { id = new UserId(100 + count); //EventStream s = eStore.Load(id); eStore.Append(id, 0, new IEvent[] { new UserCreatedEvent(id, "John") }); ++count; }while ((DateTime.Now - t1) < TimeSpan.FromMilliseconds(1000)); Console.WriteLine("{0} + {1}: {2}", aStore, serializer, count); } finally { aStore.Dispose(); } } } }
protected override void SetUp() { base.SetUp(); // Get concrete implementation from inheriting test class AppendOnlyStore = BuildAppendOnlyStore(); // Use a simple serializer that works for just about everything ISerializer serializer = new JsonNetSerializer(); EventStore = new EventStoreDB(AppendOnlyStore, serializer); }
private static EventStoreHost BuildEventStoreHost(BaseConfiguration cfg, IMessageBus messageBus) { IEventPublisher eventPublisher = EventStoreConfigurationExtensions.GetEventPublisher(cfg, false); if (eventPublisher == null) { eventPublisher = new MessageBusEventPublisher(messageBus); } IDocumentStoreFactory docStoreFactory = EventStoreConfigurationExtensions.GetDocumentStoreFactory(cfg); EventStoreDB eStore = EventStoreConfigurationExtensions.GetEventStoreDB(cfg); EventStoreHost host = new EventStoreHost(eStore, eventPublisher, docStoreFactory); return(host); }
static void TestLoad(object o) { TestLoadData data = (TestLoadData)o; IAppendOnlyStore appendOnlyStore = data.Store; { ISerializer serializer = new JsonNetSerializer(); EventStoreDB store = new EventStoreDB(appendOnlyStore, serializer); UserId id = new UserId(data.N); EventStream s = store.Load(id); System.Threading.Thread.Sleep(Rand.GetInts(100, 500, 1)[0]); Assert.AreEqual(s.Version, 0); List <IEvent> events = new List <IEvent>() { new UserCreatedEvent(id, "John") }; store.Append(id, 0, events); } }