Notes de version de Sun GlassFish Enterprise Server v3

ACC intégré trop strict sur le chargeur de classe de contexte du thread actif (problème 11427)

Description

L'ACC s'attend à ce que le chargeur de classe de contexte du thread actif soit ACCClassLoader. Ce paramètre est trop restrictif. Bien que cette condition soit remplie pour les exécutions de script appclient et Java Web Start, elle n'est pas nécessairement remplie pour l'ACC intégré. D'autres fonctions à l'intérieur de l'ACC nécessitent un chargeur de classe de type URLClassLoader (ou une instance d'une sous-classe de URLClassLoader), mais le chargeur ne doit pas nécessairement être un chargeur de type ACCClassLoader.

Pour plus d'informations, reportez-vous à Issue report.

Solution

Deux solutions sont disponibles :

  1. Définissez -Djava.System.class.loader=org.glassfish.appclient.client.acc.ACCClassLoader , ou

  2. Dans votre programme Java, créez une instance ACCClassLoader et définissez-la en tant que chargeur de classe de contexte du thread actif à l'aide de la commande Thread.currentThread().setContextClassLoader avant d'utiliser les classes et interfaces ACC intégrées.