Bonjour à tous,
Pour pouvoir exécuter un traitement (Ghost4j), j'ai dû augmenter les capacités mémoire de la JVM ; ainsi j'ai pu exécuter mes tests :
Comme ces traitements sont répétitifs et prennent pas mal de temps par rapport au temps d'exécution de l'application, j'ai voulu passer la section concernée dans un thread :-Xms64m
-Xmx512m
-XX:MaxPermSize=128m
Seulement, lorsque j'exécute le traitement, il s'avère que les paramètres mémoire ne sont manifestement pas transmis au thread :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 this.executor = Executors.newCachedThreadPool(); ... this.executor.execute(new Runnable() { public void run() { File thumbnail = generatePdfThumbnail(file); // Ghost4j if (thumbnail != null) { String thumbnailLink = buildLink(refDir, thumbnail); builder.buildThumbnailNode(node, thumbnail, thumbnailLink); } } }); ... this.executor.shutdown();
Quelqu'un sait-il ce qu'il convient de faire, SVP ?Exception in thread "pool-1-thread-13" java.lang.OutOfMemoryError: Java heap space
Merci d'avance.
Partager