Bonjour à tous,
J'en remets une couche avec mon Java Outlook Connector ne serait-ce que pour le pauvre prochain qui devra effectuer des manipulations outlook en java...
(je pense qu'une recherche avec les mot clés java outlook connector doit être vraiment impressionnante par la diversité des émetteurs)
Bref, après moultes recherches,tests et retests des soluces des anciens posts je ne parviens toujours pas à libérer les ressources mémoires de mon appli...
Pour vous éviter de répéter 36 fois les mêmes choses, je résume la situation :
--> l'appli tourne en continue donc fuite mémoire = blocage à un moment même si la fuite est peu importante, je ne peux donc pas jouer avec l'allocation mémoire au démarrage de la JVM (-xms)
--> grâce à vos différentes implications dans les discussions, je suis devenu expert avec le garbage collector (System.gc(), déréférencement)
--> mes threads ne crée pas d'objet à tout va
--> je ferme bien tous mes flux fichiers et mes Statments et ResultSet
Si vous en voulez la preuve, comme mon appli est multi-protocoles,lorsque je fais du ftp ou smtp pop3 aucun problème (on distingue les allocations et libérations en suivant l'évolution de la mémoire --> stabilité parfaite).
En revanche dès que je me connecte au serveur exchange via outlook connector, l'utilisation de la mémoire s'envole violamment mais sans jamais se libérer (même quand je passe ensuite à un autre protocole) et forcément comme on se sert bcp d'outlook, explosion du programme au bout de quelques heures.
Enfin pour ceux qui ont déjà été voir la doc Moyosoft, lorsque je quitte je fais un Outlook.dispose() (fallais bien trouver quelque chose vu le manque de doc sur cette API).
Ma question est donc simple : quelles sont les solutions qui s'offrent à moi lorsqu'une fuite mémoire provient d'une librairie externe?
Svp, la réponse du style "change de librairie" n'est à envisager qu'en cas de dernier recours...
Merci d'avance pour votre soutien ... je suis seul et perdu entre java et microsoft
@+
Partager