internal void UpdateFrom(ReplicationClientConfiguration configuration) { if (configuration == null) { return; } if (configuration.FailoverBehavior.HasValue) { FailoverBehavior = configuration.FailoverBehavior.Value; } }
internal void UpdateFrom(ReplicationClientConfiguration configuration) { if (configuration == null) { return; } if (configuration.FailoverBehavior.HasValue) { FailoverBehavior = configuration.FailoverBehavior.Value; } if (configuration.RequestTimeSlaThresholdInMilliseconds.HasValue) { RequestTimeSlaThresholdInMilliseconds = configuration.RequestTimeSlaThresholdInMilliseconds.Value; } }
protected void RunReplication(IDocumentStore source, IDocumentStore destination, TransitiveReplicationOptions transitiveReplicationBehavior = TransitiveReplicationOptions.None, bool disabled = false, bool ignoredClient = false, string apiKey = null, string db = null, string username = null, string password = null, string domain = null, ReplicationClientConfiguration clientConfiguration = null) { db = db ?? (destination is DocumentStore ? ((DocumentStore)destination).DefaultDatabase : null); Console.WriteLine("Replicating from {0} to {1} with db = {2}.", source.Url, destination.Url, db ?? Constants.SystemDatabase); using (var session = source.OpenSession(db)) { var replicationDestination = new ReplicationDestination { Url = destination is EmbeddableDocumentStore ? "http://localhost:" + (destination as EmbeddableDocumentStore).Configuration.Port : destination.Url.Replace("localhost", "ipv4.fiddler"), TransitiveReplicationBehavior = transitiveReplicationBehavior, Disabled = disabled, IgnoredClient = ignoredClient, SkipIndexReplication = false //precaution }; if (db != null) { replicationDestination.Database = db; } if (apiKey != null) { replicationDestination.ApiKey = apiKey; } if (username != null) { replicationDestination.Username = username; replicationDestination.Password = password; replicationDestination.Domain = domain; } SetupDestination(replicationDestination); Console.WriteLine("writing rep dests for " + db + " " + source.Url); session.Store(new ReplicationDocument { Destinations = { replicationDestination }, ClientConfiguration = clientConfiguration }, "Raven/Replication/Destinations"); session.SaveChanges(); } while (true) { using (var s = source.OpenSession(db)) { var doc = s.Load <ReplicationDocument>("Raven/Replication/Destinations"); if (string.IsNullOrWhiteSpace(doc.Source)) { Thread.Sleep(100); continue; } break; } } }