Enhancements to
Java Web Start in J2SE 5.0
- Elimination of Application Manager: The J2SE 5.0 release no
longer contains the Application Manager. Its major functionality is
now contained in the Java Control Panel (see item 3 below) and the
JNLP Cache Viewer (see item 4 below). The remaining functionality
viewing web pages containing JNLP links is better served by a web
browser.
- Elimination of Developer Bundle: Java Web Start is now fully
integrated into the JRE and the JDK. The items which were
previously contained in a separate developer bundle are now
contained in the JDK. The documentation which was previously
contained in the developers bundle is now available online. The JDK
now contains a samples directory with sample source code to four
Java Web Start applications, a sample JRE installer, and the JNLP
download servlet. The JDK now also contains
jardiff.jar
, jnlp.jar
, and
jnlp-servlet.jar
.
- JNLP Cache Viewer: The JNLP Cache Viewer replaces the
functionality of the Application Manager's "downloaded
Applications" view. Now all applications, applets, libraries
and installers are shown. Available applications can be launched
online or offline, removed, or restored from the web. All JNLP
files are now kept in the cache (even those without
href
parameters).
- System Cache: Java Web Start now contains both system and user
caches. The system administrator can now pre-load applications and
shared libraries into the system cache so that multiple users can
share the same resources.
- Import Facility: Java Web Start now contains an import
facility. This can be used for CD installs, where code is initially
loaded from one location and then updated from another. It can also
be used to pre-install applications and libraries in either the
user or system cache without running the applications.
- Desktop Integration: (1) Desktop integration of applications
has been extended to GNOME and enhanced to allow an application's
JNLP file to specify what integration to do. The JNLP file can now
suggest desktop and/or menu and specify submenu names. (2) On
Windows and on Solaris, Linux, or Mac OS X running GNOME 2.0 or above,
Java Web Start
applications can now register themselves to be the primary handler
for specific MIME types and extensions on the desktop or file
system (but not as links in web pages). (3) Now other related
content HTML links, native content, and related JNLP applications
can be included in the desktop integration of an application.
- API Enhancements: The JNLP API has been extended to contain an
Extended Service and a Single Instance Service. The Extended
Service contains file IO APIs not available in the original spec.
The Single Instance Service provides a mechanism whereby
applications can insure that multiple invocations of the same
application will cause new arguments to be passed to the original
instance. This avoids the overhead of relaunching Java. Note that
the Single Instance behavior will only be enabled after the
application calls the Single Instance API in the JNLP
application.
- VM arguments: A JNLP file can now request arbitrary arguments
to the virtual machine. Previous JNLP applications could only use
the
initial-heap-size
and max-heap-size
arguments to the J2SE element; now a java-vm-args
argument has been added. Java Web Start will honor the requests for
any normal java and -X arguments that it considers
"safe". A list of all such arguments will be included
with each release so that the JNLP Spec does not need to
change.
- A JNLP applications running in a sandbox can now print with
full support using the Java Printing APIs: Whenever the JNLP
application tries to print, Java Web Start will pop up a security
dialog asking the user for permission for the application to print.
This provides JNLP applications with complete printing support;
previously they could only use JNLP printing APIs. This is similar
to the applet printing behaviour in Java Plug-in.