public Linq2DbReadJournal(ExtendedActorSystem system, Configuration.Config config, string configPath) { writePluginId = config.GetString("write-plugin"); //IDK Why we need this, but we do. system.RegisterExtension(Persistence.Instance); var persist = Persistence.Instance.Get(system); eventAdapters = persist .AdaptersFor(writePluginId); readJournalConfig = new ReadJournalConfig(config); this.system = system; var connFact = new AkkaPersistenceDataConnectionFactory(readJournalConfig); _mat = Materializer.CreateSystemMaterializer(system, ActorMaterializerSettings.Create(system), "l2db-query-mat" + configPath); readJournalDao = new ByteArrayReadJournalDao( system.Scheduler.Advanced, _mat, connFact, readJournalConfig, new ByteArrayJournalSerializer(readJournalConfig, system.Serialization, readJournalConfig.PluginConfig.TagSeparator)); journalSequenceActor = system.ActorOf(Props.Create(() => new JournalSequenceActor(readJournalDao , readJournalConfig .JournalSequenceRetrievalConfiguration)), readJournalConfig.TableConfig.TableName + "akka-persistence-linq2db-sequence-actor"); delaySource = Source.Tick( TimeSpan.FromSeconds(0), readJournalConfig.RefreshInterval, 0L) .Take(1); }
public ByteArrayReadJournalDao(IAdvancedScheduler ec, IMaterializer mat, AkkaPersistenceDataConnectionFactory connectionFactory, ReadJournalConfig readJournalConfig, FlowPersistentReprSerializer <JournalRow> serializer) : base(ec, mat, connectionFactory, readJournalConfig, serializer) { }