The JAR file format was extended in JDK 1.3 to support a standard way of
specifying pluggable "service providers" in a special META-INF file (see
http://java.sun.com/j2se/1.4/docs/guide/jar/jar.html#Service%20Provider for
details). Many subsystems in the platform now use this feature, including
sound, security, networking, naming, new I/O, image I/O, printing, input
methods, and XML. Most (though not all) of these subsystems use the internal
sun.misc.Service class, which defines a simple mechanism for looking up
services and instantiating providers.
We should refine the sun.misc.Service class as needed and then promote it into
the java.util package. This will make it easier for both internal and external
developers to make use of the META-INF/services feature, which has become very
widely used.
|