|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Développeur informatique Inscription : janvier 2003 Messages : 376 ![]() |
Salut, je découvre BIRT, mais je trouve l'aide et les quelques tutoriaux trouvés sur internet pas assez poussés
Première chose, grâce à l'exemple de servlet j'ai réussi à afficher un état de test fourni sur le site de BIRT : SalesInvoice.rptdesign Je sais que je n'a pas une machine hyper puissante (P4 1,6 GHz, 768 Mo de RAM) mais quand même...
Le format HTML ou PDF, c'est kif kif Ces temps me paraissent extrêmement longs, surtout que mon chef veut que les pages s'affichent en 1 seconde J'ai déjà utilisé JasperReports et j'ai des temps de réponse très rapide (les états qui rament, c'est que mes données sont longues à calculer). Constatez-vous le même genre de lenteurs avec BIRT ? Autre chose, je veux utiliser des classes Java déjà faite (y'aurait plus qu'à les adapter à l'interface de BIRT, mais laquelle ?), et je vois dans les tutos qu'il faut une DataSource de type script, et qu'on peut utiliser une classe Java au lieu du javascript, mais je n'ai pas trouvé de tutos expliquant comment et avec des exemples ! Tout retour d'expérience à ce sujet me serait d'un grand intérêt, parce que là, franchement, je galère.
|
|
|
00
|
|
|
#2 | |
|
Membre Expert
![]() ![]() Développeur Java Inscription : juin 2005 Messages : 657 ![]() |
Citation:
Pour la datasource c'est possible mais j'ai pas d'exemple concret à te donner, désolé.
__________________
Gagnez une place pour Devoxx France 2012 |
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() Développeur informatique Inscription : janvier 2003 Messages : 376 ![]() |
Ce qui m'inquiète le plus, c'est que ça met 1 minute pour la première génération de l'état après démarrage du serveur. Alors est-ce l'état SalesInvoice de démo qui est lent, ou est-ce le fonctionnement de BIRT, mais si les premiers utilisateurs qui visualisent les états doivent attendre 1 minute... ça ne fait pas très sérieux (surtout si c'est un client sur un extranet
|
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() |
Je pense que tu peux mettre un thread au demarrage du tomcat qui va initialiser l'engine de BIRT et tu pourra à tout moment l'appelé dans tes servlets...
Sinon peux tu detaillais ton idées de réutiliser du code existant que veux tu faire ? je debute aussi dans Birt donc vas y |
|
|
00
|
|
|
#5 | ||||||
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Salut !
Personnellement j'ai résolu le problème principal de lenteur qui est en effet dû au démarrage du serveur. Il faudrait que tu crées un singleton qui isole le moteur (engine) : Code :
Code :
Je te donne un exemple d'utilisation : Code :
- Nom du rptdesign - Nom du fichier de sortie - Liste des paramètres Enfin, l'édition est lancée. |
||||||
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Développeur Java Inscription : juillet 2004 Messages : 204 ![]() |
Oui j'ai aussi fait un singleton pour l'engine
|
|
|
00
|
|
|
#7 | ||||||
|
Membre confirmé
![]() Développeur informatique Inscription : janvier 2003 Messages : 376 ![]() |
Pour le singleton, je l'ai fait un peu de cette manière, mais dans une servlet.
moritan, (et les autres aussi), avez-vous vu un exemple de DataSource en java ? je donne un exemple fictif. une classe CompteBancaire qui contient plusieurs fonctions qui retournent des "lignes" d'opérations réalisées sur le compte. (collection de LigneOperation) Code :
- getDate, getLibelle, getDebit, getCredit et là avec JasperReport je faisais une classe datasource qui implémente JrDataSource avec un constructeur prenant en paramètre ma collection, une méthode next() qui passe à la ligne suivante, et getFieldValue qui retourne la valeur demandée pour un champ, du genre Code :
Code :
Je cherche donc ZE solution pour créer une data source en java pur, ou un minimum de code javascript, mais auquel je passe des collections d'objets bean triés, filtrés... Merci d'avance |
||||||
|
|
00
|
|
|
#8 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Comme tu l'as vu dans des sujets différents, on peut passer un DataSource en paramètre, donc le fait de créer un DataSource en Java, tu as l'air de les avoir déjà, il ne reste plus qu'à le passer.
Tu n'auras, en principe, pas à refaire tes objets. |
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() Développeur informatique Inscription : janvier 2003 Messages : 376 ![]() |
Merci, j'suis en train de lire tout le forum pour trouver l'exemple... Si tu en as un en tête, je crois que j'ai vu un sujet mais où ça ne marche pas.
/me retourne lire tout le forum... |
|
|
00
|
|
|
#10 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
http://www.developpez.net/forums/sho...d.php?t=262247
Il n'y a pas d'exemples complets mais tu as des pistes au moins |
|
|
00
|
|
|
#11 |
|
Membre confirmé
![]() Développeur informatique Inscription : janvier 2003 Messages : 376 ![]() |
Je suis justement tombé sur ce topic, mais j'arrive pas à trouver la doc de task.setDataSource(...) et le seul exemple fait juste une modification de la requête SQL.
|
|
|
00
|
|
|
#12 | |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Citation:
Je pense que tu devrais poser la question sur le newsgroup (en anglais bien sûr) et si tu obtiens la réponse, de la poster ici |
|
|
|
00
|
|
|
#13 | ||
|
Membre confirmé
![]() Développeur informatique Inscription : janvier 2003 Messages : 376 ![]() |
D'après les sources, le setDataSource attend une archive, un report en quelque sorte
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com