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;
            }
        }