[ExecutorService] transmettre les paramètres JVM
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 :
Citation:
-Xms64m
-Xmx512m
-XX:MaxPermSize=128m
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 :
Code:
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(); |
Seulement, lorsque j'exécute le traitement, il s'avère que les paramètres mémoire ne sont manifestement pas transmis au thread :
Citation:
Exception in thread "pool-1-thread-13" java.lang.OutOfMemoryError: Java heap space
Quelqu'un sait-il ce qu'il convient de faire, SVP ?
Merci d'avance.