public virtual ITunnel Create(string connectionString, IRabbitWatcher watcher) { var connectionValues = new ConnectionString(connectionString); return Create(connectionValues.Host, connectionValues.VirtualHost, connectionValues.UserName, connectionValues.Password, watcher); }
/// <summary> /// Create a tunnel with provided connection string and IRabbitWatcher object /// </summary> /// <param name="connectionString"></param> /// <param name="watcher"></param> /// <returns></returns> public virtual ITunnel Create(string connectionString, IRabbitWatcher watcher) { var clusterConnections = connectionString.Split(new[] {'|'}, StringSplitOptions.RemoveEmptyEntries); if (clusterConnections.Length > 1) { var factories = clusterConnections.Select(x => new ManagedConnectionFactory(new ConnectionString(x))) .ToList(); var rabbitWatcher = watcher ?? Global.DefaultWatcher; var haConnection = new HaConnection(new DefaultRetryPolicy(), rabbitWatcher, factories); return Create(haConnection, rabbitWatcher); } var connectionValues = new ConnectionString(connectionString); return Create(new ManagedConnectionFactory(connectionValues), watcher); }