{@link ConnectionFactoryProvider} implementations are typically discovered by {@link ConnectionFactories} from the class path using {@link ServiceLoader}. @@ -27,6 +32,15 @@ * @see ConnectionFactories * @see ServiceLoader */ + +@ServiceConsumer( + // This instance enables resolving a provider at _assembly_ without incurring a strict runtime + // dependency on Service Loader Mediator (SML) impl + cardinality = MULTIPLE, effective = "active", value = ConnectionFactoryProvider.class) +@ServiceConsumer( + // This instance enables SML to instrument ServiceLoader calls _if SML is present_ + // (without preventing the bundles from resolving if it is not) + cardinality = MULTIPLE, resolution = OPTIONAL, value = ConnectionFactoryProvider.class) public interface ConnectionFactoryProvider { /**