Class SubsystemRegistryServiceLoader<T extends SubsystemLifecycle>

java.lang.Object
org.apache.jena.base.module.SubsystemRegistryServiceLoader<T>
All Implemented Interfaces:
SubsystemRegistry<T>

public class SubsystemRegistryServiceLoader<T extends SubsystemLifecycle> extends Object implements SubsystemRegistry<T>
Implementation of SubsystemRegistry that uses ServiceLoader to find sub-systems.

In unnamed modules, the ServiceLoader used to use META-INF/service/interface-name.

With modules, the application module-info.java contains:

 module com.example.app {
     requires java.sql;
      uses java.sql.Driver;
 }
 
and the provider module-info.java contains:
 module com.example.jdbc {
     requires java.sql;
     provides java.sql.Driver
         with com.example.jdbc.MyDriver;
 }
 

With classpath, not module path and automatic modules, the application (here, Jena initialization) need not do anything, and the automatic modules implicitly provide an interface.