bonjour à tous.
je développe un programme java qui importe des données depuis un fichier texte au format CSV vers une base de données MySQL.
ce programme est appelé depuis une application Web hébergée sur Tomcat et dans ce cas les accès MySQL se font via une configuration JNDI. Le programme fonctionne parfaitement même pour plusieurs dizaines de milliers de lignes à charger.
Je dois exécuter le même traitement d'import en batch planifié la nuit à heure fixe. j'ai donc développé une classe java dont la méthode main réutilise les classes du programme qui tourne bien sous Tomcat, j'en ai fait un jar exécutable que je peux lancer en ligne de commande via le planificateur de tâches windows.
mon problème est qu'en batch planifié le programme se plante dès que je dépasse 5000 lignes. la seule différence c'est qu'en batch planifié je n'utilise pas JNDI pour les connexions MySQL et donc je ne bénéficie pas du pool de connexion, et les erreurs que j'ai en debug indiquent que j'essaie d'ouvrir des connexions mais ce n'est plus possible.
Mes questions :
Est-il possible d'utiliser le pool de connexion JNDI de tomcat depuis mon fichier jar exécutable et si oui quel est le code java à écrire ?
Sinon dois je transformer ce jar exécutable en quelque chose de déployable sur tomcat et planifiable en automatique, et si oui quoi et comment l'écrire ?
Partager