예제 #1
0
 public ByteArrayJournalDao(IAdvancedScheduler sched, IMaterializer mat,
                            AkkaPersistenceDataConnectionFactory connection,
                            JournalConfig journalConfig,
                            Akka.Serialization.Serialization serializer, ILoggingAdapter logger) : base(sched, mat,
                                                                                                        connection, journalConfig,
                                                                                                        new ByteArrayJournalSerializer(journalConfig, serializer,
                                                                                                                                       journalConfig.PluginConfig.TagSeparator), logger)
 {
 }
        public Linq2DbWriteJournal(Configuration.Config config)
        {
            try
            {
                _journalConfig = new JournalConfig(config);
                _mat           = Materializer.CreateSystemMaterializer((ExtendedActorSystem)Context.System,
                                                                       ActorMaterializerSettings.Create(Context.System)
                                                                       .WithDispatcher(_journalConfig.MaterializerDispatcher)
                                                                       ,
                                                                       "l2dbWriteJournal"
                                                                       );

                try
                {
                    _journal = new ByteArrayJournalDao(
                        Context.System.Scheduler.Advanced, _mat,
                        new AkkaPersistenceDataConnectionFactory(
                            _journalConfig),
                        _journalConfig, Context.System.Serialization, Context.GetLogger());
                }
                catch (Exception e)
                {
                    Context.GetLogger().Error(e, "Error Initializing Journal!");
                    throw;
                }

                if (_journalConfig.TableConfig.AutoInitialize)
                {
                    try
                    {
                        _journal.InitializeTables();
                    }
                    catch (Exception e)
                    {
                        Context.GetLogger().Warning(e,
                                                    "Unable to Initialize Persistence Journal Table!");
                    }
                }
            }
            catch (Exception ex)
            {
                Context.GetLogger().Warning(ex, "Unexpected error initializing journal!");
                throw;
            }
        }
예제 #3
0
        public MSSQLiteLinq2DbJournalPerfSpec(ITestOutputHelper output)
            : base(SQLiteJournalSpecConfig.Create(connString, ProviderName.SQLiteMS), "SqliteJournalSpec", output, eventsCount: TestConstants.NumMessages)
        {
            heldSqliteConnection.Open();
            //InitWALForFileDb();
            var conf = new JournalConfig(
                SQLiteJournalSpecConfig.Create(connString, ProviderName.SQLiteMS).GetConfig("akka.persistence.journal.testspec"));

            var connFactory = new AkkaPersistenceDataConnectionFactory(conf);

            using (var conn = connFactory.GetConnection())
            {
                try
                {
                    conn.GetTable <JournalRow>().Delete();
                }
                catch (Exception e)
                {
                }
            }
        }