protected EventJournalPublisher( string eventJournalName, string messageBusName, string topicName) { this.reader = EventJournal.Open(eventJournalName).Reader("topic-" + topicName + "-reader"); this.topic = MessageBus.Start(messageBusName).OpenTopic(topicName); this.dispatcherThread = new Thread(new ThreadStart(this.DispatchEach)); StartDispatcherThread(); }
public EventJournalReader Reader(string name) { if (readers.ContainsKey(name)) { return(readers[name]); } EventJournalReader reader = new EventJournalReader(name, this); readers.Add(name, reader); return(reader); }
public void TestOpenEventJournalReader() { EventJournal journal = EventJournal.Open("test"); EventJournalReader reader = journal.Reader("test_reader"); Assert.IsNotNull(reader); Assert.AreEqual("test_reader", reader.Name); EventJournalReader readerPreOpened = journal.Reader("test_reader"); Assert.AreSame(reader, readerPreOpened); journal.Close(); }
public void TestWriteRead() { EventJournal journal = EventJournal.Open("test"); journal.Write("name123", 1, EventBatch.Of("type1", "type1_instance1")); journal.Write("name456", 1, EventBatch.Of("type2", "type2_instance1")); EventJournalReader reader = journal.Reader("test_reader"); Assert.AreEqual(new StoredEvent(0, new EventValue("name123", 1, "type1", "type1_instance1", "")), reader.ReadNext()); reader.Acknowledge(0); Assert.AreEqual(new StoredEvent(1, new EventValue("name456", 1, "type2", "type2_instance1", "")), reader.ReadNext()); reader.Acknowledge(1); Assert.AreEqual(new StoredEvent(-1, new EventValue("", -1, "", "", "")), reader.ReadNext()); journal.Close(); }