Java 8 Mise À Jour 91 Web Start Application A Un Long Retard De Démarrage


Nous avons un ensemble d'applications Java que nous développons depuis des années et qui sont lancées à distance via Web Start. Après la mise à jour vers Java SE 8 Update 91, il y a une pause très importante (20-60 secondes selon l'application) dans le processus de démarrage sans indication à l'utilisateur typique que quelque chose se passe. Cette pause se produit après la fermeture de la boîte de dialogue "Démarrer l'application" de Java et avant le lancement de l'application.

La longueur de La pause semble être en corrélation avec la taille de l'application. Revenir à Java 8 Update 77 élimine complètement la pause, et ces mêmes applications démarrent sans aucune pause.

Nos applications demandent "toutes les autorisations" car nous devons lire/écrire des données sur le lecteur du client à des fins de mise en cache. Ainsi, tous nos pots sont signés et ont les modifications manifestes nécessaires.

Si la console Java est activée dans vos paramètres Java, la console s'affiche immédiatement après celle de Java Boîte de dialogue "Démarrer l'application" qui apparaît lorsque le fichier JNLP de l'application est accessible. Cependant, aucune activité n'est visible dans la console pendant cette pause (par exemple, aucun des messages de chargement de classe Java typiques n'apparaît avant la pause et aucun de notre code dans la méthode "main" n'est exécuté avant la pause).

Certaines de ces applications sont assez importantes. Le code que nous avons écrit est d'environ 10 à 12 Mo, et les ressources supplémentaires totalisent entre 15 et 20 Mo selon l'application.

J'ai trouvé un rapport de bogue JDK qui semble très similaire... rapport de bogue Ce rapport indique que l'utilisation d'une ancienne version de Java entraîne un démarrage instantané si le cache Java est supprimé avant le premier démarrage. Le problème que je signale ne semble pas être affecté par le cache Java. Revenir à Java 8 Update 77 entraîne un démarrage instantané sans supprimer le cache Java.

Les notes de publication Java pour Java 8 Update 91 mentionnent un correctif de bogue "Régression dans le temps de démarrage de l'applet fixe". Mais je ne vois rien qui indiquerait un changement intentionnel qui entraînerait une longue pause pendant le démarrage (comme une analyse de sécurité accrue, etc.).

Avec cette durée de pause au démarrage et aucune possibilité d'indiquer à l'utilisateur que quelque chose se passe, nous recevons des plaintes concernant les applications.

Toute aide serait grandement appréciée.

MISE À JOUR juillet 1, 2016...

J'ai trouvé cette question SO qui semble décrire les symptômes identiques: problème similaire. Cependant, il était lié à Java 7 Update 40. Et la résolution était de désactiver la vérification de révocation dans le déploiement.fichier de propriétés.

J'ai utilisé la console Java pour définir "Ne pas vérifier" pour "Effectuer des vérifications de révocation de certificat de code signé" et "Effectuer des vérifications de révocation de certificat TLS". Et j'ai vérifié pour s'assurer que les modifications sont reflétées dans le déploiement.fichier de propriétés. Cependant, ces paramètres ne pas résoudre ou améliorer le problème du tout.

Si cela avait fonctionné, ce serait un excellent indicateur du problème, mais ce ne serait pas une "solution" utile pour que les clients désactivent ces vérifications de révocation dans leurs paramètres avancés. Cela ne serait surtout pas utile pour le grand public qui a accès à un certain nombre de nos applications.

MISE À JOUR juillet 7, 2016...

Basé sur le commentaire de jaivalis j'ai téléchargé la version early access de Java 8 Mise à jour 112 JRE. Lorsque j'exécute nos applications avec ce JRE, il n'y a aucune pause. Les applications s'exécutent immédiatement après la fermeture de la boîte de dialogue "Démarrer l'application".

Jusqu'à présent, je ne trouve aucune note qui explique pourquoi ce serait. J'espère que ce "correctif" n'est pas le résultat de nouvelles mesures de sécurité qui n'ont pas été complètement appliquées à cette version d'accès anticipé. J'espère que quelque chose a réellement été abordé et que les performances de lancement immédiat resteront lorsque cela communiqué officiel.

En passant, je ne trouve pas de date de sortie officielle pour Java 8 Update 112. J'espérais que cela se produirait en juillet, mais je vois des indications d'octobre. Quelqu'un a-t-il des informations sur le moment où cette mise à jour sera généralement disponible?

Il est possible d'accéder à la page d'accès anticipé de Java 8 Update 112 early access
Voici les informations de date de sortie que j'ai trouvées Java 8 Update 112 release timeline

Cette page mentionne également un Java 8 Mise à jour 102, mais je ne trouve pas de version d'accès anticipé pour cette mise à jour. Tous les liens que je trouve pointent vers la mise à jour 112.

Author: Community, 2016-06-30

2 answers

Ce problème a été résolu avec la version Java 8 update 101 (techniquement build 1.8.0_101-b13).

 1
Author: Rob, 2016-08-08 20:05:49

Bonjour, j'ai trouvé quelque chose qui pourrait vous aider :)

Dans les notes de correctif récentes d'Oracle, il a déclaré qu'il s'agissait d'un problème de bogue dans le dernier correctif de Java

Personnellement, je trouverais un tiers pour télécharger une version précédente de java

Voici un lien vers les notes de mise à jour http://www.oracle.com/technetwork/java/javase/8u20-relnotes-2257729.html

J'espère que vous trouverez le problème!

 0
Author: Mitchell Cain, 2016-06-30 22:51:40