2010-10-05 13 views
0

Lorsque je lance une application client enrichi avec JNLP, elle envoie des requêtes aux serveurs distants. Certaines de ces requêtes sont destinées à vérifier si les serveurs sont disponibles ou non. S'ils ne sont pas disponibles, le client saisit, par exemple, UnknownHostException et c'est un cas totalement valide et attendu.Boîte de dialogue d'erreur vide au démarrage dans le cas d'UnknownHostException

Cependant, si je spécifie les paramètres de proxy dans un panneau de configuration Java (Windows-> Démarrer-> Paramètres-> Panneau de configuration> Java) Je me suit dialogue d'erreur au démarrage:

alt text

Comme vous pourriez voir, ce dialogue est complètement inutile et cela n'aide pas à découvrir ce qui ne va pas. J'ai également essayé de définir un niveau de trace dans une console Java à 5, mais cela ne m'a pas non plus fourni d'informations utiles.

Cette boîte de dialogue s'affiche avec l'exception qui est interceptée dans l'application de démarrage. Je répète il est pris immédiatement après il est lancé par HttpClient instance (commons-httpclient-3.1) et ce dialogue n'est pas affiché par l'application (de plus il a complètement différent look'n'feel). Voici une citation de code:

try { 
     HttpClient client = new HttpClient(connectionManager); 
     GetMethod getMethod = new GetMethod(); 
     getMethod.setPath(targetUrl.getPath()); 
     HostConfiguration hostConfiguration = getHostConfiguration(); 
     client.executeMethod(hostConfiguration, getMethod); 
    } catch (Exception e) { 
     // some logging 
    } 

executeMethod lancers francs UnknownHostException ou ConnectTimeoutException ici. Si j'active la 'Connexion directe' dans la boîte de dialogue "Panneau de configuration Java-> Paramètres réseau", le problème n'est pas reproductible, mais le problème est qu'il n'est pas toujours possible d'utiliser une connexion directe.

J'ai découvert que le problème n'est pas reproductible sur Java 1.6, mais malheureusement je dois le résoudre d'une manière ou d'une autre sans mise à niveau. Je comprends que c'est un problème très étrange et ressemble plus à un bug dans JVM, mais j'espère que vous pourriez me conseiller n'importe quoi pour supprimer ces dialogues agaçants en quelque sorte.

Répondre

0

Il semble que j'ai finalement trouvé la réponse. Here gars ont rencontré un problème assez similaire qui est lié aux paramètres de proxy et arrive à Java 1.5 seulement. J'utilise aussi "Utiliser un script de configuration automatique du proxy". Et ce script est incapable de retourner le résultat correct pour certains des hôtes que j'ai vérifiés, donc il a retourné une erreur.

Si je comprends bien, Java Webstart bug est la cause principale.