JDK-7085020 : applets and fx-apps run thru webstart will not relaunch for jnlp. and javaws. properties
  • Type: Bug
  • Component: deploy
  • Sub-Component: webstart
  • Affected Version: 7-client
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2011-08-30
  • Updated: 2013-12-25
  • Resolved: 2013-12-25
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 Availabitlity Release.

To download the current JDK release, click here.
7u2Fixed 8Fixed
when testing for relaunch in com.sun.deploy.util.JVMParameters.isExcluded() - 
special exemption is made when Environment.isJavaWebStart() is true.
(Because AppPolicy.java will add the properties later) but in the case of webstart launching an FX app (or an applet), we switch over to using plugins code (and it's AppPolicy), but leave Environment.isJavaWebStart() true 

we should call Environment.setEnvironmentType(Environment.ENV_PLUGIN);
in com.sun.javaws.Launcher.executeApplet() before we switch over to plugin code.

regression_test_src: http://sqe-hg.us.oracle.com/hg/index.cgi/testbase/javase/functional/8/deployment2/file/60074f9d7f91/new_framework/tests/javafx/fxfeaturesTest/src/JavaFXFeaturesTest.java

EVALUATION The additional and possibly the major cause was the flow of Launcher.launchAppUsingAppletLifecycle() which only check for match JMVParameters if checking for JavaFx support failed. Due to risk involve, for 7-client we only fix this cause. The exclusion fix will be done in separate CR.

EVALUATION The suggestion in the description is insufficient , since the relaunch check is done in advance of launching thru plugin, the Environment setting would need to be made sooner, indication what run path you expect to be using. Furthermore - changing this will have the effect of changing the wording of some dialogs from "Application" to "Applet", so will solve another way.

EVALUATION yes - this check in JVMParameters needs to fail for applet or fxapp - alternative way to address is to check for applet of fx app in isExcluded - but that would be difficult since LaunchDesc is not available.