IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

BIRT Discussion :

[BIRT 4.3.1] createRunAndRender


Sujet :

BIRT

  1. #1
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 13
    Points : 10
    Points
    10
    Par défaut [BIRT 4.3.1] createRunAndRender
    Bonjour,

    J'ai actuellement un problème avec l'utilisation de createRunAndRender. Voici ce que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    public synchronized void run(String _input, String _output, Locale _langue, Map<String, Object> _parameters,String _format) throws EngineException {
    		IRunAndRenderTask runTask = null;
     
    		try {
    			/* Récupération du rptDesign */
    			System.out.println("Ouverture du reportDesign");
    			System.out.println(REPORT_PATH + _input + ".rptdesign");
    			if (engine!=null){System.out.println("engine non null : "+engine.toString());}
    			IReportRunnable design = engine.openReportDesign(REPORT_PATH + _input + ".rptdesign");
    			System.out.println("Design : "+design.toString());
    			/* Création de la tâche d'éxécution */
    			System.out.println("Creation de la runTask");
    			runTask = engine.createRunAndRenderTask(design);
    			System.out.println(runTask.toString());
     
    			/* Paramètres */
    			System.out.println("Affectation des paramètres");
    			runTask.setParameterValues(_parameters);
     
    			/* Langue */
    			System.out.println("Definition de la langue");
    			runTask.setLocale(_langue);
     
    			/* Création des options de rendu */
    			System.out.println("Creation des options du rendu");
    			IRenderOption option = new RenderOption();
     
    			/* Fichier et format de sortie */
    			System.out.println("Definition des options");
    			option.setOutputFileName(REPORT_PATH + _output + "." + _format);
    			option.setOutputFormat(_format);
     
     
    			runTask.setRenderOption(option);
     
    			/* Exécution */
    			System.out.println("Génération du rptdocument");
    			runTask.run();
    		}
    		finally {
    			if (runTask != null) {
    				runTask.close();
    			}
    		}
    	}
    Le programme ne fait plus rien à partir de "runTask = engine.createRunAndRenderTask(design);" , sans message d'erreur dans la console, ni d'exception, rien du tout.
    Voici ce que me renvoi la console d'après mes prints :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    genererRapport
    Generation de l'instance de l'editeur
    Birt home : C:\Users\Paul\workspace\PortailLLTv2\WebContent\ReportEngine
    Plateforme démarrée
    Factory crée
    Config non null
    factory non null : org.eclipse.birt.report.engine.api.impl.ReportEngineFactory@4a2f7524
    engine non null : org.eclipse.birt.report.engine.api.impl.ReportEngine@13dc4803
    reportEngine crée
    monEditeur
    run & render du rapport
    Ouverture du reportDesign
    C:\Users\Paul\workspace\PortailLLTv2\WebContent\WEB-INF\repository\dailyReport.rptdesign
    engine non null : org.eclipse.birt.report.engine.api.impl.ReportEngine@13dc4803
    Design : org.eclipse.birt.report.engine.api.impl.ReportRunnable@428369cf
    Creation de la runTask
    Et à partir de ce moment, plus rien ne se passe....

    EDIT : Après investigations, j'ai enfin trouvé le fichier log :

    juil. 01, 2014 10:37:46 AM com.actuate.reportcast.servlets.StartupServlet startJREM
    Avertissement: JREM Root has been resolved to: /WEB-INF/reportengines
    juil. 01, 2014 10:37:46 AM com.actuate.reportapi.enginemanager.ThreadPool setMaxThreads
    Avertissement: Thread pool max thread changed to: 10
    juil. 01, 2014 10:38:00 AM org.quartz.core.JobRunShell run
    Grave: Job DEFAULT.TestJob threw an unhandled Exception:
    java.lang.NoClassDefFoundError: org/eclipse/core/runtime/spi/IRegistryProvider
    at org.eclipse.birt.core.framework.Platform.createPlatformLauncher(Platform.java:115)
    at org.eclipse.birt.core.framework.Platform.startup(Platform.java:74)
    at background.jobs.Edition.<init>(Edition.java:52)
    at background.jobs.Edition.getInstance(Edition.java:70)
    at background.jobs.jobsMethods.genererRapport(jobsMethods.java:215)
    at background.jobs.DailyUpdate.execute(DailyUpdate.java:55)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
    Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.spi.IRegistryProvider
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
    ... 8 more

    juil. 01, 2014 10:38:00 AM org.quartz.core.ErrorLogger schedulerError
    Grave: Job (DEFAULT.TestJob threw an exception.
    org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: java.lang.NoClassDefFoundError: org/eclipse/core/runtime/spi/IRegistryProvider]
    at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
    Caused by: java.lang.NoClassDefFoundError: org/eclipse/core/runtime/spi/IRegistryProvider
    at org.eclipse.birt.core.framework.Platform.createPlatformLauncher(Platform.java:115)
    at org.eclipse.birt.core.framework.Platform.startup(Platform.java:74)
    at background.jobs.Edition.<init>(Edition.java:52)
    at background.jobs.Edition.getInstance(Edition.java:70)
    at background.jobs.jobsMethods.genererRapport(jobsMethods.java:215)
    at background.jobs.DailyUpdate.execute(DailyUpdate.java:55)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    ... 1 more
    Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.spi.IRegistryProvider
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
    ... 8 more
    Alors du coup il apparait qu'il me manque une librairie, qui serait org.eclipse.core.runtime.spi.IRegistryProvider.
    J'ai donc téléchargé le jar contenant cette librairie, ajouté celle-ci dans WEB-INF/lib, ajouté au classpath, mais j'ai toujours la même erreur..

    Merci

  2. #2
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    J'avance un peu, et je me rends compte que le problème de lancement est résolu quand je lance une frameset de mon Birt Viewer.

    Je m'explique :

    Dans mon appli web, il est possible de visionner directement les rapports. Il y a aussi une génération automatique de rapport avec quartz.

    Ainsi, lors du visionnage direct, tout se passe bien. Mais lorsque rien n'est lancé au démarrage de l'application, impossible de générer un pdf.

    Est ce que le viewer fait quelque chose que je ne fais pas actuellement qui pourrait expliquer ceci?

    Merci

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2009
    Messages
    529
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2009
    Messages : 529
    Points : 836
    Points
    836
    Par défaut
    Si le générateur de rapport se trouve dans la même appli web que le webviewer, c'est un peu hasardeux car cela signifie que la plateforme birt est démarrée 2 fois à l'intérieur d'un même classloader. Je ne pense pas que ce cas soit couvert par l'API, d'où des problèmes aussi imprévisibles que difficiles à résoudre. Il vaudrait peut être mieux faire 2 applications web distinctes, tu y perdras en mémoire permanente nécessaire à la machine java (environ 80 Mb de plus à prévoir), mais cela ramènerait à un cas standard.

  4. #4
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Je suis arrivé à cette conclusion aussi,j'avais espérer trouver une manière élégante de le faire.

    Donc une application pour le viewer, et une pour les générations automatique

Discussions similaires

  1. [birt & birt-viewer] A propos de rptdocument
    Par Ryan Sheckler dans le forum BIRT
    Réponses: 9
    Dernier message: 16/06/2006, 13h33
  2. Aide birt
    Par lazzeroni dans le forum BIRT
    Réponses: 1
    Dernier message: 21/03/2006, 17h26
  3. Eclipse + Birt = MOZILLA_FIVE_HOME not set
    Par n!co dans le forum BIRT
    Réponses: 2
    Dernier message: 13/03/2006, 15h10
  4. REPORTING --> BIRT
    Par rhum_un dans le forum BIRT
    Réponses: 5
    Dernier message: 20/09/2005, 10h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo