Page 1 sur 1

Mon agent java ne se lance pas si j'ajoute un jar au projet

MessagePublié: 07 Juil 2010 à 16:38
par HAB69
Bonjour,
je dois accéder à une base de données DB2/400 pour intégrer ses données dans des documents Lotus Notes. J'utilise pour ce faire un agent java. Mon pilote JDBC se trouve dans un fichier jar jt400.jar. Si j'importe ce fichier dans une bibliothèque de scripts et que j'ajoute cette bibliothèque au projet mon agent Java se lance mais ne fiat rien. Si j'intègre le fichier jt400.jar en faisant simplement un ajout dans le projet à partir du système de fichier local de celui-ci, même résultat.
J'ai fait le test avec un simple JOptionPane.showMessageDialog(null, "message") et rien d'autre dans la méthode main de ma classe Java. Lorsque le fichier jt400.jar est intégré au projet la fenêtre JOption.. ne s'affiche pas. Si j'enlève l'intégration de ce jar, la fenêtre s'affiche. Petite info supplémentaire, à la fin de l'éxécution lorsque le jar est intégré au projet j'ai le message suivant : Erreur : JVM : La tentative d'extraction de pièces jointes d'agent Java a échoué.

Une petite aide serait la bienvenue car ce message n'est pas référencé sur le web.

MessagePublié: 08 Juil 2010 à 09:03
par amahi
C'est peut etre un problème de version java, les sources sont disponibles. Recupere les, creer une nouvelle base, integre les sources dans une bibliotheque et essaye de la compiler. Tu sera fixer si c'est un problème de version.

MessagePublié: 12 Juil 2010 à 10:18
par HAB69
Bonjour,
après vérification le problème vient plutôt du fait que j'atteins la limite du tas.
Si j'arrête mon serveur et mon client, que je les relance ensuite cela fonctionne bien, mes messages apparaissent. Par contre au bout de deux lancement le même message "JVM: la tentative d'extraction de PJ...". J'ai donc affiché dans ma classe l'espace occupé par chacune de mes lectures et la taille disponible.
ManagementFactory.getMemoryMXBean();
et
Runtime.getRuntime().freeMemory();

Au premier lancement la taille utilisée augmente à chaque lecture alors que je n'ai qu'une variable et que je la libère (null) après utilisation. Mais au lancement suivant, la taille utilisée n'a pas diminué mais à continué à augmenter.

MessagePublié: 12 Juil 2010 à 10:45
par Michael DELIQUE
salut

un seul mot : recycle ( à mort)

MessagePublié: 19 Juil 2010 à 06:57
par HAB69
Bonjour,
le recycle ne fait pas grand chose dans mon cas, la mémoire ne se vidant pas. C'est dommage mais je vais essayer de trouver une autre solution, non Notes.
Merci pour tout.

MessagePublié: 21 Juil 2010 à 17:16
par Smicky
PLace ton jar sur ton serveur, dans jmv/ext...ca règlera normallement tes pb de perfs car les classes seront loadées par un classloader différents (qui a plus de droit) et ne seront pas chargées / déchargées a chaque run de l'agent.

ps : tu peux aussi référencer ton jar dans le notes.in dans la variable JavaUserClasses=C:\Chemin\MonJar.jar....mais ca ne se fait plus trop.