public SnapshotTableColumnNames(Configuration.Config config)
        {
            var    compat = (config.GetString("table-compatibility-mode", "") ?? "").ToLower();
            string colString;

            switch (compat)
            {
            case "sqlserver":
                colString = "sql-server-compat-column-names";
                break;

            case "sqlite":
                colString = "sqlite-compat-column-names";
                break;

            case "postgres":
                colString = "postgres-compat-column-names";
                break;

            default:
                colString = "column-names";
                break;
            }
            var cfg = config
                      .GetConfig($"tables.snapshot.{colString}").SafeWithFallback(
                ConfigurationFactory.ParseString(FallBack).GetConfig($"tables.snapshot.{colString}"));

            PersistenceId  = cfg.GetString("persistenceId", "persistence_id");
            SequenceNumber = cfg.GetString("sequenceNumber", "sequence_number");
            Created        = cfg.GetString("created", "created");
            Snapshot       = cfg.GetString("snapshot", "snapshot");
            Manifest       = cfg.GetString("manifest", "manifest");
            SerializerId   = cfg.GetString("serializerId", "serializer_id");
        }
Esempio n. 2
0
        public MetadataTableColumnNames(Configuration.Config config)
        {
            var    compat = (config.GetString("table-compatibility-mode", "") ?? "").ToLower();
            string colString;

            switch (compat)
            {
            case "sqlserver":
                colString = "sqlserver-compat-metadata-column-names";
                break;

            case "sqlite":
                colString = "sqlite-compat-metadata-column-names";
                break;

            case "postgres":
                colString = "postgres-compat-metadata-column-names";
                break;

            default:
                colString = "metadata-column-names";
                break;
            }
            var cfg = config
                      .GetConfig($"tables.journal.{colString}").SafeWithFallback(
                ConfigurationFactory.ParseString(FallBack).GetConfig($"tables.journal.{colString}"));

            //var cfg =  config.GetConfig("tables.journal.metadata-column-names").SafeWithFallback(ConfigurationFactory.ParseString(FallBack).GetConfig("tables.journal.metadata-column-names"));
            PersistenceId  = cfg.GetString("PersistenceId", "PersistenceId");
            SequenceNumber = cfg.GetString("sequenceNumber", "sequenceNr");
        }
        public SnapshotConfig(Configuration.Config config)
        {
            config =
                config.SafeWithFallback(Linq2DbSnapshotStore
                                        .DefaultConfiguration.GetConfig("akka.persistence.snapshot-store.linq2db"));
            TableConfig  = new SnapshotTableConfiguration(config);
            PluginConfig = new SnapshotPluginConfig(config);
            var dbConf = config.GetString(ConfigKeys.useSharedDb);

            UseSharedDb       = string.IsNullOrWhiteSpace(dbConf) ? null : dbConf;
            DefaultSerializer = config.GetString("serializer", null);
            ConnectionString  = config.GetString("connection-string", null);
            ProviderName      = config.GetString("provider-name", null);
            IDaoConfig        =
                new SnapshotDaoConfig(config.GetBoolean("compatibility-mode",
                                                        false));
        }
Esempio n. 4
0
        public JournalConfig(Configuration.Config config)
        {
            config =
                config.SafeWithFallback(
                    Linq2DbWriteJournal.DefaultConfiguration);
            MaterializerDispatcher = config.GetString("materializer-dispatcher", "akka.actor.default-dispatcher");
            ConnectionString       = config.GetString("connection-string");
            ProviderName           = config.GetString("provider-name");
            TableConfig            = new JournalTableConfig(config);
            PluginConfig           = new JournalPluginConfig(config);
            DaoConfig = new BaseByteArrayJournalDaoConfig(config);
            var dbConf = config.GetString(ConfigKeys.useSharedDb);

            UseSharedDb        = string.IsNullOrWhiteSpace(dbConf) ? null : dbConf;
            UseCloneConnection =
                config.GetBoolean("use-clone-connection", false);
        }
        public ReadJournalConfig(Configuration.Config config)
        {
            ConnectionString = config.GetString("connection-string");
            ProviderName     = config.GetString("provider-name");
            TableConfig      = new JournalTableConfig(config);
            DaoConfig        = new BaseByteArrayJournalDaoConfig(config);
            var dbConf = config.GetString(ConfigKeys.useSharedDb);

            UseCloneConnection =
                config.GetBoolean("use-clone-connection", false);
            JournalSequenceRetrievalConfiguration = new JournalSequenceRetrievalConfig(config);
            PluginConfig    = new ReadJournalPluginConfig(config);
            RefreshInterval = config.GetTimeSpan("refresh-interval",
                                                 TimeSpan.FromSeconds(1));
            MaxBufferSize   = config.GetInt("max-buffer-size", 500);
            AddShutdownHook = config.GetBoolean("add-shutdown-hook", true);
            IncludeDeleted  =
                config.GetBoolean("include-logically-deleted", true);
        }
Esempio n. 6
0
        public SnapshotTableConfiguration(Configuration.Config config)
        {
            var localcfg = config.GetConfig("tables.snapshot")
                           .SafeWithFallback(config).SafeWithFallback(Configuration.Config.Empty);

            ColumnNames              = new SnapshotTableColumnNames(config);
            TableName                = config.GetString("table-name", localcfg.GetString("table-name", "snapshot"));
            SchemaName               = localcfg.GetString("schema-name", null);
            AutoInitialize           = localcfg.GetBoolean("auto-init", false);
            WarnOnAutoInitializeFail =
                localcfg.GetBoolean("warn-on-auto-init-fail", true);
        }
        public Ec2TagBasedServiceDiscovery(ExtendedActorSystem system)
        {
            _system           = system;
            _log              = Logging.GetLogger(system, typeof(Ec2TagBasedServiceDiscovery));
            _config           = _system.Settings.Config.GetConfig("akka.discovery.aws-api-ec2-tag-based");
            _clientConfigFqcn = _config.GetString("client-config");
            _tagKey           = _config.GetString("tag-key");

            var otherFiltersString = _config.GetString("filters");

            _otherFilters = ParseFiltersString(otherFiltersString);

            _preDefinedPorts        = _config.GetIntList("ports").ToList();
            _runningInstancesFilter = new Filter("instance-state-name", new List <string> {
                "running"
            });

            var credProviderPath = _config.GetString("credentials-provider");

            _credentialProviderFqcn = _config.GetString($"{credProviderPath}.class");
        }
        public EcsServiceDiscovery(ActorSystem system)
        {
            _config  = system.Settings.Config.GetConfig("akka.discovery.aws-api-ecs");
            _cluster = _config.GetString("cluster");
            var tags = _config.GetValue("tags").GetArray().Select(value => value.ToConfig()).ToList();

            foreach (var tagValue in tags)
            {
                _tags.Add(new Tag
                {
                    Key   = tagValue.GetString("key"),
                    Value = tagValue.GetString("value")
                });
            }
        }
        public JournalTableColumnNames(Configuration.Config config)
        {
            var    compat = (config.GetString("table-compatibility-mode", "") ?? "").ToLower();
            string colString;

            switch (compat)
            {
            case "sqlserver":
                colString = "sqlserver-compat-column-names";
                break;

            case "sqlite":
                colString = "sqlite-compat-column-names";
                break;

            case "postgres":
                colString = "postgres-compat-column-names";
                break;

            default:
                colString = "column-names";
                break;
            }

            var cfg = config
                      .GetConfig($"tables.journal.{colString}").SafeWithFallback(
                ConfigurationFactory.ParseString(FallBack).GetConfig($"tables.journal.{colString}"));

            Ordering       = cfg.GetString("ordering", "ordering");
            Deleted        = cfg.GetString("deleted", "deleted");
            PersistenceId  = cfg.GetString("PersistenceId", "persistence_id");
            SequenceNumber = cfg.GetString("sequenceNumber", "sequence_number");
            Created        = cfg.GetString("created", "created");
            Tags           = cfg.GetString("tags", "tags");
            Message        = cfg.GetString("message", "message");
            Identitifer    = cfg.GetString("identifier", "identifier");
            Manifest       = cfg.GetString("manifest", "manifest");
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
 public JournalPluginConfig(Configuration.Config config)
 {
     TagSeparator = config.GetString("tag-separator", ",");
     //TODO: FILL IN SANELY
     Dao = config.GetString("dao", "Akka.Persistence.Sql.Linq2Db.Journal.DAO.ByteArrayJournalDao ;Akka.Persistence.Sql.Linq2Db.Journal");
 }
Esempio n. 12
0
 public ReadJournalPluginConfig(Configuration.Config config)
 {
     TagSeparator = config.GetString("tag-separator", ",");
     Dao          = config.GetString("dao",
                                     "akka.persistence.sql.linq2db.dao.bytea.readjournal.bytearrayreadjournaldao");
 }
 public SnapshotPluginConfig(Configuration.Config config)
 {
     Dao = config.GetString("dao",
                            "akka.persistence.sql.linq2db.dao.bytea.snapshot.bytearraysnapshotdao");
 }
Esempio n. 14
0
 public Linq2DbConfiguration(Configuration.Config config)
 {
     ProviderName     = config.GetString("providername");
     ConnectionString = config.GetString("connectionstring");
 }