utilisation de librairies AWT et nécessité de XWindow
7 réponses
Joe
bonjour,
je cherche à faire fonctionner une webapp, sous Tomcat, sur un
serveur linux qui ne dispose pas de XWindow (logique pour un serveur...)
or, j'utilise des bibliothèques qui exploitent des classes awt
(telles que Image, ou IconImage), qui, pour fonctionner, cherchent
apparemment a se connecter à un serveur X
y a t'il un moyen de contourner cette connexion (je ne vois pas bien
en quoi le serveur X peut etre utile pour charger une image en mémoire)
ou y a t'il une astuce qui me permettrait d'éviter d'avoir X en mémoire
sur ce serveur ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Manu
Joe wrote:
y a t'il un moyen de contourner cette connexion (je ne vois pas bien en quoi le serveur X peut etre utile pour charger une image en mémoire) ou y a t'il une astuce qui me permettrait d'éviter d'avoir X en mémoire sur ce serveur ?
Bonjour, Essaie avec cette instruction : System.setProperty("java.awt.headless","true");
-- Manu
Joe wrote:
y a t'il un moyen de contourner cette connexion (je ne vois pas bien
en quoi le serveur X peut etre utile pour charger une image en
mémoire) ou y a t'il une astuce qui me permettrait d'éviter d'avoir X
en mémoire sur ce serveur ?
Bonjour,
Essaie avec cette instruction :
System.setProperty("java.awt.headless","true");
y a t'il un moyen de contourner cette connexion (je ne vois pas bien en quoi le serveur X peut etre utile pour charger une image en mémoire) ou y a t'il une astuce qui me permettrait d'éviter d'avoir X en mémoire sur ce serveur ?
Bonjour, Essaie avec cette instruction : System.setProperty("java.awt.headless","true");
-- Manu
jerome moliere
Manu wrote:
Joe wrote:
y a t'il un moyen de contourner cette connexion (je ne vois pas bien en quoi le serveur X peut etre utile pour charger une image en mémoire) le probleme vient de la couche peer chargeant les .so ...si elle ne les
trouve pas poum :)
ou y a t'il une astuce qui me permettrait d'éviter d'avoir X
en mémoire sur ce serveur ?
Bonjour, Essaie avec cette instruction : System.setProperty("java.awt.headless","true");
changer de librairies.... c'est con mais certaines libs de generation de fichiers PDF a la volee evitent ce type de probleme qui survient par exemple avec FOP...
Jerome
Manu wrote:
Joe wrote:
y a t'il un moyen de contourner cette connexion (je ne vois pas bien
en quoi le serveur X peut etre utile pour charger une image en
mémoire)
le probleme vient de la couche peer chargeant les .so ...si elle ne les
trouve pas poum :)
ou y a t'il une astuce qui me permettrait d'éviter d'avoir X
en mémoire sur ce serveur ?
Bonjour,
Essaie avec cette instruction :
System.setProperty("java.awt.headless","true");
changer de librairies....
c'est con mais certaines libs de generation de fichiers PDF a la volee
evitent ce type de probleme qui survient par exemple avec FOP...
y a t'il un moyen de contourner cette connexion (je ne vois pas bien en quoi le serveur X peut etre utile pour charger une image en mémoire) le probleme vient de la couche peer chargeant les .so ...si elle ne les
trouve pas poum :)
ou y a t'il une astuce qui me permettrait d'éviter d'avoir X
en mémoire sur ce serveur ?
Bonjour, Essaie avec cette instruction : System.setProperty("java.awt.headless","true");
changer de librairies.... c'est con mais certaines libs de generation de fichiers PDF a la volee evitent ce type de probleme qui survient par exemple avec FOP...
Jerome
Bruno Conductier
Joe wrote:
je cherche à faire fonctionner une webapp, sous Tomcat, sur un serveur linux qui ne dispose pas de XWindow (logique pour un serveur...)
or, j'utilise des bibliothèques qui exploitent des classes awt (telles que Image, ou IconImage), qui, pour fonctionner, cherchent apparemment a se connecter à un serveur X
y a t'il un moyen de contourner cette connexion (je ne vois pas bien en quoi le serveur X peut etre utile pour charger une image en mémoire) ou y a t'il une astuce qui me permettrait d'éviter d'avoir X en mémoire sur ce serveur ?
jusqu'a present on resolvait le probleme en installant un emulateur de type xvbf (par exemple http://www.javasource.org/GifServlet/linux.html ou http://chartworks.com/support/server/XvfbonUnix.html). il semblerait http://www.jguru.com/faq/view.jsp?EID"2296 que l'on peut depuis le JDK 1.4 utiliser une propriete java.awt.headless=true (j'ai pas teste cette derniere option - en revanche la premiere fonctionne a coup sur) Bruno
Joe wrote:
je cherche à faire fonctionner une webapp, sous Tomcat, sur un
serveur linux qui ne dispose pas de XWindow (logique pour un serveur...)
or, j'utilise des bibliothèques qui exploitent des classes awt
(telles que Image, ou IconImage), qui, pour fonctionner, cherchent
apparemment a se connecter à un serveur X
y a t'il un moyen de contourner cette connexion (je ne vois pas bien
en quoi le serveur X peut etre utile pour charger une image en mémoire)
ou y a t'il une astuce qui me permettrait d'éviter d'avoir X en mémoire
sur ce serveur ?
jusqu'a present on resolvait le probleme en installant un emulateur de
type xvbf (par exemple http://www.javasource.org/GifServlet/linux.html
ou http://chartworks.com/support/server/XvfbonUnix.html). il semblerait
http://www.jguru.com/faq/view.jsp?EID"2296 que l'on peut depuis le JDK
1.4 utiliser une propriete java.awt.headless=true (j'ai pas teste cette
derniere option - en revanche la premiere fonctionne a coup sur)
Bruno
je cherche à faire fonctionner une webapp, sous Tomcat, sur un serveur linux qui ne dispose pas de XWindow (logique pour un serveur...)
or, j'utilise des bibliothèques qui exploitent des classes awt (telles que Image, ou IconImage), qui, pour fonctionner, cherchent apparemment a se connecter à un serveur X
y a t'il un moyen de contourner cette connexion (je ne vois pas bien en quoi le serveur X peut etre utile pour charger une image en mémoire) ou y a t'il une astuce qui me permettrait d'éviter d'avoir X en mémoire sur ce serveur ?
jusqu'a present on resolvait le probleme en installant un emulateur de type xvbf (par exemple http://www.javasource.org/GifServlet/linux.html ou http://chartworks.com/support/server/XvfbonUnix.html). il semblerait http://www.jguru.com/faq/view.jsp?EID"2296 que l'on peut depuis le JDK 1.4 utiliser une propriete java.awt.headless=true (j'ai pas teste cette derniere option - en revanche la premiere fonctionne a coup sur) Bruno
Patrick Ruzand
"Bruno Conductier" wrote in message news:bnpchi$9ni$
Joe wrote:
je cherche à faire fonctionner une webapp, sous Tomcat, sur un serveur linux qui ne dispose pas de XWindow (logique pour un serveur...)
or, j'utilise des bibliothèques qui exploitent des classes awt (telles que Image, ou IconImage), qui, pour fonctionner, cherchent apparemment a se connecter à un serveur X
y a t'il un moyen de contourner cette connexion (je ne vois pas bien en quoi le serveur X peut etre utile pour charger une image en mémoire) ou y a t'il une astuce qui me permettrait d'éviter d'avoir X en mémoire sur ce serveur ?
jusqu'a present on resolvait le probleme en installant un emulateur de type xvbf (par exemple http://www.javasource.org/GifServlet/linux.html ou http://chartworks.com/support/server/XvfbonUnix.html). il semblerait http://www.jguru.com/faq/view.jsp?EID"2296 que l'on peut depuis le JDK 1.4 utiliser une propriete java.awt.headless=true (j'ai pas teste cette derniere option - en revanche la premiere fonctionne a coup sur) Bruno
Le support headless du jdk 1.4 fonctionne tres bien. Par contre, la propriete java.awt.headless=true doit etre passee au lancement de la VM (via -Djava.awt.headless=true). Je ne pense pas qu'un System.setProperty() marche apres avoir lancer la vm. A moins peut-etre de le faire avant l'initialisation du Toolkit (a confirmer ?).
Sinon, en jdk < 1.4, tu as aussi la solution PJA (dispo sur eteks.com), une implementation de AWT en pure java.
-- Patrick
"Bruno Conductier" <bruno.conductier@wanadoo.fr> wrote in message
news:bnpchi$9ni$1@news-reader4.wanadoo.fr...
Joe wrote:
je cherche à faire fonctionner une webapp, sous Tomcat, sur un
serveur linux qui ne dispose pas de XWindow (logique pour un serveur...)
or, j'utilise des bibliothèques qui exploitent des classes awt
(telles que Image, ou IconImage), qui, pour fonctionner, cherchent
apparemment a se connecter à un serveur X
y a t'il un moyen de contourner cette connexion (je ne vois pas bien
en quoi le serveur X peut etre utile pour charger une image en mémoire)
ou y a t'il une astuce qui me permettrait d'éviter d'avoir X en mémoire
sur ce serveur ?
jusqu'a present on resolvait le probleme en installant un emulateur de
type xvbf (par exemple http://www.javasource.org/GifServlet/linux.html
ou http://chartworks.com/support/server/XvfbonUnix.html). il semblerait
http://www.jguru.com/faq/view.jsp?EID"2296 que l'on peut depuis le JDK
1.4 utiliser une propriete java.awt.headless=true (j'ai pas teste cette
derniere option - en revanche la premiere fonctionne a coup sur)
Bruno
Le support headless du jdk 1.4 fonctionne tres bien.
Par contre, la propriete java.awt.headless=true doit etre passee
au lancement de la VM (via -Djava.awt.headless=true). Je ne pense
pas qu'un System.setProperty() marche apres avoir lancer la vm. A moins
peut-etre de le faire avant l'initialisation du Toolkit (a confirmer ?).
Sinon, en jdk < 1.4, tu as aussi la solution PJA (dispo sur eteks.com), une
implementation
de AWT en pure java.
"Bruno Conductier" wrote in message news:bnpchi$9ni$
Joe wrote:
je cherche à faire fonctionner une webapp, sous Tomcat, sur un serveur linux qui ne dispose pas de XWindow (logique pour un serveur...)
or, j'utilise des bibliothèques qui exploitent des classes awt (telles que Image, ou IconImage), qui, pour fonctionner, cherchent apparemment a se connecter à un serveur X
y a t'il un moyen de contourner cette connexion (je ne vois pas bien en quoi le serveur X peut etre utile pour charger une image en mémoire) ou y a t'il une astuce qui me permettrait d'éviter d'avoir X en mémoire sur ce serveur ?
jusqu'a present on resolvait le probleme en installant un emulateur de type xvbf (par exemple http://www.javasource.org/GifServlet/linux.html ou http://chartworks.com/support/server/XvfbonUnix.html). il semblerait http://www.jguru.com/faq/view.jsp?EID"2296 que l'on peut depuis le JDK 1.4 utiliser une propriete java.awt.headless=true (j'ai pas teste cette derniere option - en revanche la premiere fonctionne a coup sur) Bruno
Le support headless du jdk 1.4 fonctionne tres bien. Par contre, la propriete java.awt.headless=true doit etre passee au lancement de la VM (via -Djava.awt.headless=true). Je ne pense pas qu'un System.setProperty() marche apres avoir lancer la vm. A moins peut-etre de le faire avant l'initialisation du Toolkit (a confirmer ?).
Sinon, en jdk < 1.4, tu as aussi la solution PJA (dispo sur eteks.com), une implementation de AWT en pure java.
-- Patrick
Manu
Patrick Ruzand wrote:
Par contre, la propriete java.awt.headless=true doit etre passee au lancement de la VM (via -Djava.awt.headless=true). Je ne pense pas qu'un System.setProperty() marche apres avoir lancer la vm. A moins peut-etre de le faire avant l'initialisation du Toolkit (a confirmer ?).
Perso je le fais dans une servlet qui est initialisée au démarrage de ma webapp et cela fonctionne très bien avec JFreeChart. Comme ca pour le deploiement il me suffit de déposer mon war, pas besions de toucher au lancement de la VM.
-- Manu
Patrick Ruzand wrote:
Par contre, la propriete java.awt.headless=true doit etre passee
au lancement de la VM (via -Djava.awt.headless=true). Je ne pense
pas qu'un System.setProperty() marche apres avoir lancer la vm. A
moins peut-etre de le faire avant l'initialisation du Toolkit (a
confirmer ?).
Perso je le fais dans une servlet qui est initialisée au démarrage de ma
webapp et cela fonctionne très bien avec JFreeChart. Comme ca pour le
deploiement il me suffit de déposer mon war, pas besions de toucher au
lancement de la VM.
Par contre, la propriete java.awt.headless=true doit etre passee au lancement de la VM (via -Djava.awt.headless=true). Je ne pense pas qu'un System.setProperty() marche apres avoir lancer la vm. A moins peut-etre de le faire avant l'initialisation du Toolkit (a confirmer ?).
Perso je le fais dans une servlet qui est initialisée au démarrage de ma webapp et cela fonctionne très bien avec JFreeChart. Comme ca pour le deploiement il me suffit de déposer mon war, pas besions de toucher au lancement de la VM.
-- Manu
Patrick Ruzand
Patrick Ruzand wrote:
Par contre, la propriete java.awt.headless=true doit etre passee au lancement de la VM (via -Djava.awt.headless=true). Je ne pense pas qu'un System.setProperty() marche apres avoir lancer la vm. A moins peut-etre de le faire avant l'initialisation du Toolkit (a confirmer ?).
Perso je le fais dans une servlet qui est initialisée au démarrage de ma webapp et cela fonctionne très bien avec JFreeChart. Comme ca pour le deploiement il me suffit de déposer mon war, pas besions de toucher au lancement de la VM.
Merci pour ta confirmation. Pour info, tu appel setProperty a quel moment dans ton code ?
-- Patrick
Patrick Ruzand wrote:
Par contre, la propriete java.awt.headless=true doit etre passee
au lancement de la VM (via -Djava.awt.headless=true). Je ne pense
pas qu'un System.setProperty() marche apres avoir lancer la vm. A
moins peut-etre de le faire avant l'initialisation du Toolkit (a
confirmer ?).
Perso je le fais dans une servlet qui est initialisée au démarrage de ma
webapp et cela fonctionne très bien avec JFreeChart. Comme ca pour le
deploiement il me suffit de déposer mon war, pas besions de toucher au
lancement de la VM.
Merci pour ta confirmation. Pour info, tu appel setProperty a quel moment
dans ton code ?
Par contre, la propriete java.awt.headless=true doit etre passee au lancement de la VM (via -Djava.awt.headless=true). Je ne pense pas qu'un System.setProperty() marche apres avoir lancer la vm. A moins peut-etre de le faire avant l'initialisation du Toolkit (a confirmer ?).
Perso je le fais dans une servlet qui est initialisée au démarrage de ma webapp et cela fonctionne très bien avec JFreeChart. Comme ca pour le deploiement il me suffit de déposer mon war, pas besions de toucher au lancement de la VM.
Merci pour ta confirmation. Pour info, tu appel setProperty a quel moment dans ton code ?
-- Patrick
Manu
Patrick Ruzand wrote:
Perso je le fais dans une servlet qui est initialisée au démarrage de ma webapp et cela fonctionne très bien avec JFreeChart. Comme ca pour le deploiement il me suffit de déposer mon war, pas besions de toucher au lancement de la VM.
Merci pour ta confirmation. Pour info, tu appel setProperty a quel moment dans ton code ?
En fait j'ai créé une servlet Init qui ne sert à qu'à initialiser divers composants. La méthode public void init() est invoquée par tomcat au lancement de la webapp car j'ai renseigné le paramètre <load-on-startup> dans web.xml C'est donc dans cette méthode init que j'ai placé mon setProperty. J'utilise également la méthode destroy() qui est elle invoquée lorsque l'on stoppe la webapp, ce qui me permet de stopper certains composants "proprement".
Je ne sais pas si c'est la meilleure facon de faire mais en tout cas elle répond à mes besoins ;)
-- Manu
Patrick Ruzand wrote:
Perso je le fais dans une servlet qui est initialisée au démarrage
de ma webapp et cela fonctionne très bien avec JFreeChart. Comme ca
pour le deploiement il me suffit de déposer mon war, pas besions de
toucher au lancement de la VM.
Merci pour ta confirmation. Pour info, tu appel setProperty a quel
moment dans ton code ?
En fait j'ai créé une servlet Init qui ne sert à qu'à initialiser divers
composants. La méthode public void init() est invoquée par tomcat au
lancement de la webapp car j'ai renseigné le paramètre <load-on-startup>
dans web.xml
C'est donc dans cette méthode init que j'ai placé mon setProperty.
J'utilise également la méthode destroy() qui est elle invoquée lorsque
l'on stoppe la webapp, ce qui me permet de stopper certains composants
"proprement".
Je ne sais pas si c'est la meilleure facon de faire mais en tout cas
elle répond à mes besoins ;)
Perso je le fais dans une servlet qui est initialisée au démarrage de ma webapp et cela fonctionne très bien avec JFreeChart. Comme ca pour le deploiement il me suffit de déposer mon war, pas besions de toucher au lancement de la VM.
Merci pour ta confirmation. Pour info, tu appel setProperty a quel moment dans ton code ?
En fait j'ai créé une servlet Init qui ne sert à qu'à initialiser divers composants. La méthode public void init() est invoquée par tomcat au lancement de la webapp car j'ai renseigné le paramètre <load-on-startup> dans web.xml C'est donc dans cette méthode init que j'ai placé mon setProperty. J'utilise également la méthode destroy() qui est elle invoquée lorsque l'on stoppe la webapp, ce qui me permet de stopper certains composants "proprement".
Je ne sais pas si c'est la meilleure facon de faire mais en tout cas elle répond à mes besoins ;)