Optimisation des performances des rapports consommant beaucoup de mémoire
Lors de la génération du rapport, JasperReports compile un fichier de définition de conception de rapport (JRXML) dans un fichier .jasper, puis renseigne les données de ce fichier. Une fois celles-ci renseignées, la sortie résultante est un document se présentant sous la forme d'un objet JasperPrint. Chaque instance de cet objet peut être affichée, imprimée ou exportée dans des formats tels que HTML, PDF, CSV et XLSX.
Un virtualiseur est requis lors de la création de l'objet JasperPrint. Lorsque vous manipulez un grand ensemble de données, la taille de l'objet est susceptible d'augmenter, ce qui entraîne une augmentation de la consommation de mémoire. Pour éviter que Windchill ne déclenche une exception de mémoire insuffisante, vous devez disposer d'un virtualiseur. Le virtualiseur divise l'objet JasperPrint en plusieurs fichiers, puis enregistre et compresse ces fichiers sur le disque dur.
Windchill prend en charge les virtualiseurs suivants :
JRFileVirtualizer : crée des fichiers temporaires sur le disque. Il génère un fichier temporaire par page virtualisée.
JRSwapFileVirtualizer : crée un seul fichier d'échange dans lequel toutes les pages virtualisées sont stockées. Il est possible d'étendre la taille du fichier si nécessaire.
JRGzipVirtualizer : virtualiseur par défaut. Ne crée pas de fichiers pour stocker les pages virtualisées. Il optimise la consommation de mémoire en compressant l'objet JasperPrint à l'aide de l'algorithme gzip.
Les paramètres du virtualiseur sont activés via les propriétés suivantes. Les propriétés sont configurées dans le fichier jasper-integration.properties.xconf situé dans WT_HOME/codebase.
com.ptc.wbr.jasper.virtualizer.enabled : permet la prise en charge du virtualiseur Jasper pour Windchill. La valeur par défaut est vrai.
com.ptc.wbr.jasper.virtualizer : spécifie le virtualiseur à utiliser par défaut. La valeur par défaut est JRGZIPVIRTUALIZER.
com.ptc.wbr.jasper.virtualizer.cachedsize : spécifie le nombre de pages d'un objet JasperPrint à stocker en mémoire. La valeur par défaut est 300.
com.ptc.wbr.jasper.jrswapvirtualizer.blocksize : spécifie le nombre de blocs qu'un fichier d'échange doit allouer. La valeur par défaut est 4096.
com.ptc.wbr.jasper.jrswapvirtualizer.mingrowcount : spécifie le nombre minimum de blocs dont le fichier d'échange peut augmenter lorsqu'il est plein. La valeur par défaut est 200.
com.ptc.wbr.jasper.virtualizer.templocation : spécifie l'emplacement temporaire dans lequel les fichiers virtualisés temporaires peuvent être conservés. La valeur par défaut est {WT.TEMP}.
* 
PTC recommande de ne pas modifier les valeurs par défaut.
Est-ce que cela a été utile ?