Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > BIRT
BIRT Forum d'entraide sur BIRT (Business Intelligence and Reporting Tools). Avant de poster --> FAQ BIRT,Tutoriels BIRT
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/01/2012, 09h30   #1
Membre à l'essai
 
Inscription : novembre 2008
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 78
Points : 22
Points : 22
Par défaut Gestion des exceptions levées par des scripts ou requêtes internes à un rapport

Bonjour à tous,
J'exécute mon application web qui intègre l'API Report Engine de BIRT. J'ai un soucis parceque je n'arrive pas à contrôler les scripts et les requêtes qui sont internes à certains de mes rapports. Par requêtes internes, je parles de requêtes sql utilisées pour obtenir par exemple une liste de valeur de paramètre. Mais également les scripts utilisées par les requêtes génères parfois des exceptions que je suis dans l'incapacité d'intercepter et donc de les gérer.

Ces exceptions provoquent l'arrêt de l'application, du moins je ne peux plus exécuter d'autre rapport après que l'un d'eux ai planté.
Il s'agit d'une application web utilisant le framework GWT, elle est installé sur apache tomcat 5.5 et les drivers jdbc utilisés sont ceux de postgresql.

Merçi d'avance pour votre aide.
kadje84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 13h42   #2
Membre confirmé
 
Homme
Consultant en Business Intelligence
Inscription : mai 2009
Messages : 186
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : mai 2009
Messages : 186
Points : 289
Points : 289
Salut, pourrais tu préciser un peu plus: est ce le coté serveur qui tombe ou le client GWT? Par exemple si tu réouvres l'appli avec un autre navigateur est ce que ça fonctionne ou bien il faut carrément redémarrer l'appli sous tomcat manager?

Sinon, est ce que le code coté serveur capture les exceptions de l'exécution des rapports, quelquechose du genre:

Code :
1
2
3
4
5
6
7
try{
     IRenderTask task = birtReportEngine.createRenderTask(rptdoc);          
     task.render();
}catch (Exception e){
     logger.log( Level.SEVERE, "Error occured during Birt render task {0}", e.getMessage());
     //do exception stuff here
}
Si c'est bien le cas, tu veux dire que les erreurs évoquées ne sont pas interceptées par l'exception? Ce serait assez curieux.

Essaye d'ajouter dans le code un log du status de l'exécution du rapport une fois terminé, quelquechose comme:

Code :
1
2
3
4
5
6
7
8
9
 
            if (task.getStatus()==IRenderTask.STATUS_FAILED){
                logger.log( Level.SEVERE, "Task report failed for {0}, probably due to issues in rptdesign. Check output result, birt engine logs and your report design ", reportName);
            }else if (task.getStatus()==IRenderTask.STATUS_RUNNING){
                logger.log( Level.SEVERE, "Task report seems still running whereas it shouldnt for {0}, probably due to issues in rptdesign. Check output result and your report design ",reportName);
                task.cancel();
            }else if (task.getStatus()==IRenderTask.STATUS_SUCCEEDED){
                logger.log( Level.FINEST, "Render Task succeeded! {0}", task.getStatus());         
            }
donino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 15h28   #3
Membre à l'essai
 
Inscription : novembre 2008
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 78
Points : 22
Points : 22
Meerçi donino de ta réponse.

En fait, un partie des erreur observé était géneré par le ou les scripts liés au évènements du rapport tel que Initialize, BeforeFactory,... Et je ne savais pas comment les intercepter.
J'espère que la méthodes getStatus() pourra les gérer.
j'essaie et puis je ferais ce qui se passeras.
Merçi pour ton aide.
kadje84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h26.


 
 
 
 
Partenaires

Hébergement Web