Leistung von speicherintensiven Berichten optimieren
Während der Berichterzeugung kompiliert JasperReports eine JRXML-Datei (Berichtsdesign-Definition) in eine .jasper-Datei und füllt anschließend die Daten in selbige. Das Ergebnis des Berichtsausfüllprozesses ist ein Dokument in Form eines JasperPrint-Objekts. Jede Instanz dieses Objekts kann in Formate wie HTML, PDF, CSV und Microsoft Excel angezeigt, gedruckt oder exportiert werden.
Während der Erstellung des JasperPrint-Objekts ist ein Virtualisierer erforderlich. Wenn es sich um einen großen Datensatz handelt, nimmt die Größe des Objekts womöglich zu, was zu einem erhöhten Speicherverbrauch führt. Sie benötigen einen Virtualisierer, damit Windchill keine Fehlermeldung aufgrund von mangelndem Hauptspeicher auslöst. Der Virtualisierer teilt das JasperPrint-Objekt in mehrere Dateien auf. Anschließend speichert und komprimiert er diese Dateien auf der Festplatte.
Windchill unterstützt die folgenden Virtualisierer:
• JRFileVirtualizer: Erstellt temporäre Dateien auf der Festplatte. Es wird eine temporäre Datei pro virtualisierter Seite generiert.
• JRSwapFileVirtualizer: Erstellt eine einzelne Auslagerungsdatei, in der alle virtualisierten Seiten gespeichert sind. Die Dateigröße kann bei Bedarf erweitert werden.
• JRGzipVirtualizer: Standard-Virtualisierer. Erstellt keine Dateien zum Speichern virtualisierter Seiten. Optimiert den Speicherverbrauch, indem es das JasperPrint-Objekt mittels Gzip-Algorithmus komprimiert.
Die Einstellungen für den Virtualisierer werden über die folgenden Eigenschaften aktiviert. Die Eigenschaften werden unter WT_HOME/codebase in der Datei jasper-integration.properties.xconf konfiguriert.
• com.ptc.wbr.jasper.virtualizer.enabled: Ermöglicht Jasper-Virtualisierer-Unterstützung für Windchill. Der Standardwert lautet "Wahr".
• com.ptc.wbr.jasper.virtualizer: Gibt den zu verwendenden Standard-Virtualisierer an. Der Standardwert ist JRGZIPVIRTUALIZER.
• com.ptc.wbr.jasper.virtualizer.cachedsize: Gibt die Anzahl der Seiten eines im Arbeitsspeicher zu speichernden JasperPrint-Objekts an. Der Standardwert ist 300.
• com.ptc.wbr.jasper.jrswapvirtualizer.blocksize: Gibt die Anzahl der Blöcke an, die durch eine Auslagerungsdatei zugeordnet werden sollen. Der Standardwert ist 4096.
• com.ptc.wbr.jasper.jrswapvirtualizer.mingrowcount: Gibt die Mindestanzahl von Blöcken an, um die eine volle Auslagerungsdatei erweitert werden kann. Der Standardwert ist 200.
• com.ptc.wbr.jasper.virtualizer.templocation: Gibt den temporären Speicherort an, an dem die temporären virtualisierten Dateien aufbewahrt werden können. Der Standardwert ist {WT.TEMP}.
|
PTC empfiehlt, die Standardwerte nicht zu ändern.
|