protected DurabilityAgentStorage(DatabaseSettings databaseSettings, AdvancedSettings settings) { var transaction = new DurableStorageSession(databaseSettings, settings.Cancellation); _session = transaction; Session = transaction; Nodes = new DurableNodes(transaction, databaseSettings, settings.Cancellation); // ReSharper disable once VirtualMemberCallInConstructor Incoming = buildDurableIncoming(transaction, databaseSettings, settings); // ReSharper disable once VirtualMemberCallInConstructor Outgoing = buildDurableOutgoing(transaction, databaseSettings, settings); _findReadyToExecuteJobs = $"select body from {databaseSettings.SchemaName}.{IncomingTable} where status = '{EnvelopeStatus.Scheduled}' and execution_time <= @time"; _cancellation = settings.Cancellation; }
protected abstract IDurableIncoming buildDurableIncoming(DurableStorageSession durableStorageSession, DatabaseSettings databaseSettings, AdvancedSettings settings);
protected abstract IDurableIncoming buildDurableIncoming(DurableStorageSession durableStorageSession, DatabaseSettings settings, JasperOptions options);