JDK-6659490 : Include everything needed for plugin into jkernel core
  • Type: Enhancement
  • Component: deploy
  • Sub-Component: deployment_toolkit
  • Affected Version: 6u10
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2008-02-05
  • Updated: 2010-09-17
  • Resolved: 2008-04-17
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
6u10 b13Fixed 7Fixed
Initialization of plugin requires several bundles (deploy.jar, plugin.jar, awt_core and some others) with total size about 2Mb. This is what happens when browser tries to initialize plugin for applet. This activity blocks browser till completed and completion will require 20+ sec even with 1000Mb ADSL (much longer for dial up).
It does not seem to be user friendly.

Proposed solution:
  Include everything that is needed for initializing plugin into install package. Installation happens in the separate process and does not disturb user that much.

This means install package will be 2Mb larger. If it is not acceptable in general case
then we can have separate install package for plugin (available through "find plugin for mimetype"services).
However, note that for webstart application we can only save plugin.jar because most of awt_core will be needed for webstart application anyway. This is true for any GUI applications and as i understand jkernel is mostly for GUI applications anyway.
I think adding everything that is needed for basic applets to the core bundle is a good idea, but we should still optimize it as much as possible to include only the minimum set of dependent classes.

EVALUATION Bundles can now be included in the core merely by adding 'install="true"' to their definition in bundles.xml. This will also include all of their dependencies, recursively. The plugin bundle is now installed by default.