[wildfly-dev] What's new in JBoss Modules 1.8
David Lloyd
david.lloyd at redhat.com
Thu Apr 12 10:30:29 EDT 2018
JBoss Modules 1.8 is now part of WildFly Core, and it includes a few
major new features that you may want to be aware of:
• JDK module dependencies (MODULES-254, MODULES-314)
◦ This also works on Java 1.8, as initially discussed here:
http://lists.jboss.org/pipermail/wildfly-dev/2017-December/006180.html
◦ This also means that the following modules have been deprecated:
▪ "javax.api", in favor of various standard modules including
the now-implicit "java.base"
▪ "javax.xml.stream.api" and the JAXP portion of "javax.api"
in favor of "java.xml"
▪ "javax.sql.api" in favor of "java.sql"
▪ "sun.jdk" and "ibm.jdk" in favor of multiple standard modules
◦ For more information, see:
▪ https://github.com/wildfly/wildfly-proposals/pull/39
• Improved JAXP redirection strategy (MODULES-339)
◦ No longer uses system properties to establish the default implementation
◦ Implemented by way of adding additional services to the end of
each module's resource list
◦ This means the default implementation is local to the module
system class loaders and does not "leak out" to embedding environments
In addition, the following minor improvements are present:
• Automatic version detection (MODULES-343)
◦ If no version attribute is given in module.xml, the version is
detected via the JAR file manifest
◦ Versions are only advisory (for diagnostics) and do not play a
role in linkage or resolution
• Service declarations in module.xml (MODULES-349)
◦ Allows existing JARs to be supplemented with additional service
definitions
◦ Service definitions are treated as an additional (last) resource
root containing only service files
• Support for "data:" URLs (MODULES-340)
◦ See https://tools.ietf.org/html/rfc2397
◦ Can be returned by resource loaders for dynamic resource generation
• Functional class transformation API (MODULES-346)
◦ A new buffer-based functional interface is added and preferred
◦ Can be used to avoid a dependency on the "java.instrument"
module in the future
◦ A compatibility adapter class is also introduced
◦ APIs which accept the java.lang.instrument.ClassFileTransformer
interface are deprecated
• Ability to add security providers from the command line (MODULES-344)
◦ The "-add-provider" switch is introduced which accepts module or
module/class
• Add API to run any accessible "main" class within a module (MODULES-342)
The following deprecations were introduced:
• APIs which accept java.lang.instrument.ClassFileTransformer are
deprecated in favor of org.jboss.modules.ClassTransformer
(MODULES-346)
• Module index related command line switches and operations are
deprecated (MODULES-345)
• Resource root names are deprecated and are no longer used or
supported (though the APIs and XML attributes remain for
compatibility) (MODULES-352)
• "system" dependencies are deprecated (MODULES-254, MODULES-314)
--
- DML
More information about the wildfly-dev
mailing list