cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jmc.artig...@free.fr
Subject Re: Comment catcher l'erreur 'OutOfMemory' (Java Heap Space) proprement ?
Date Mon, 22 Jan 2007 14:51:50 GMT
Merci Bertrand pour ta reponse rapide.

Je suis d'accord avec toi pour dire qu'il vaut mieux eviter d'arriver a une
erreur 'OutOfMemory', et tout est bien fait dans mon appli (au mieux de mes
connaissances en tout cas) pour eviter d'y arriver.

Cependant le cas arrive, rarement mais il est possible. En fait, je ne fais
aucune action precise lorsque je 'catche' l'erreur 'OutOfMemory'. Je n'essaie
pas de rentrer dans un autre processus, mais juste de detecter l'erreur pour
afficher un message 'propre' (j'invite l'utilisateur a choisir des criteres de
requete plus selectifs pour recuperer moins de donnees de la base).

L'erreur arrive juste car il y a trop de donnees a manipuler. Beaucoup de
donnees sont recuperees de la base, et que la sortie soit Excel ou PDF,
apparemment on passe le 'generate' mais pas le 'transform'.

pour la sortie excel par exemple :

<map:generate type="serverpages" src="[...nom_de_mon_fichier...].xsp"/>
<map:transform src="[...nom_de_mon_fichier...].xsl"/>
<map:serialize type="xls"/>

En cours de transformation, j'ai mon erreur. Cocoon n'est pas bloque a
proprement parler, il suffit de faire un 'back' du navigateur (ce n'est pas
beau et c'est bien ce que je voudrais eviter en ayant 'ma' page d'erreur
propre), et on retrouve l'appli, prete a l'emploi, on peut faire d'autres
actions.

Des idees sur comment DETECTER l'erreur 'OutOfMemory' en fait ?

Merci d'avance. J'ai lu tout ce que j'ai pu sur le net mais il s'agit toujours
de comment eviter l'erreur, pas de savoir la detecter.

Cordialement,
Jean-Michel

Selon Bertrand Delacretaz <bdelacretaz@apache.org>:

> On 1/22/07, jmc.artignan@free.fr <jmc.artignan@free.fr> wrote:
>
> > ...J'essaie de catcher l'erreur 'OutOfMemory' pour rediriger l'utilisateur
> vers une
> > page d'erreur propre, aux couleurs de mon appli....
>
> Je n'ai jamais approfondi la question en ce qui concerne Cocoon, mais
> en général il n'est pas recommandé de "catcher" une OutOfMemoryError:
> la JVM, ou en tout cas le thread qui traite la requête, peut être dans
> un état incohérent, on ne peut plus compter dessus pour faire quelque
> chose de sensé.
>
> Voir par exemple http://www.onjava.com/lpt/a/1110 et
> http://tomcat.apache.org/faq/memory.html#why (en anglais).
>
> Il est à mon avis nécessaire de redémarrer la JVM si cela se produit,
> pour éviter d'arriver dans un état incohérent. Mais je ne suis pas un
> super-spécialiste de Tomcat ou Jetty, peut-être que quelqu'un a des
> infos plus précises?
>
> -Bertrand
>



---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Mime
View raw message