reactor-core/src/main/java/reactor/core/publisher/ConnectableFlux.java
public final Flux<T> autoConnect(int minSubscribers, Consumer<? super Disposable> cancelSupport) {
		if (minSubscribers == 0) {
			connect(cancelSupport);
			return this;
		}
		if(this instanceof Fuseable){
			return onAssembly(new FluxAutoConnectFuseable<>(this,
					minSubscribers,
					cancelSupport));
		}
		return onAssembly(new FluxAutoConnect<>(this, minSubscribers,
				cancelSupport));
	}
public final Flux<T> autoConnect(int minSubscribers, Consumer<? super Disposable> cancelSupport) {
		if (minSubscribers == 0) {
			connect(cancelSupport);
			return this;
		}
		if(this instanceof Fuseable){
			return onAssembly(new FluxAutoConnectFuseable<>(this,
					minSubscribers,
					cancelSupport));
		}
		return onAssembly(new FluxAutoConnect<>(this, minSubscribers,
				cancelSupport));
	}
Connects this {@link ConnectableFlux} to the upstream source when the specified amount of
{@link org.reactivestreams.Subscriber} subscribes and calls the supplied consumer with a runnable that allows disconnecting.
<p>
<img class="marble" src="doc-files/marbles/autoConnectWithMinSubscribers.svg" alt="">

@param minSubscribers the minimum number of subscribers
@param cancelSupport the consumer that will receive the {@link Disposable} that allows disconnecting
@return a {@link Flux} that connects to the upstream source when the given amount of subscribers subscribed