LJC/vJUG Hackday query: ServiceLoader class

Chris Hegarty chris.hegarty at oracle.com
Fri May 12 14:54:39 UTC 2017


On 12/05/17 12:48, Mani Sarkar wrote:
> Since I don’t have an IDE compatible con Java9 I don’t know if
> ServiceLoader class has a way to explicitly ask for an implementation on an
> explicit module
> *Anonymous: *
> See new constructors in JavaDoc:
> http://download.java.net/java/jdk9/docs/api/java/util/ServiceLoader.html
> Mani:  would the OpenJDK / Java 9 team please want to add anything else to
> the above

I added the following concrete example to the online doc.


It is possible to use the new-in-9 ServiceLoader::stream method to 
return a stream of ServiceLoader.Provider’s. Filtering based on 
type/module can be done on the stream. For example:

   // List all ToolProvider service providers in the jdk.jdeps module.
   ServiceLoader<?> sl = 
     .map(p -> p.type())
     .filter(t -> t.getModule().getName().equals("jdk.jdeps"))
     .map(t -> t.getName())


More information about the adoption-discuss mailing list