Ottimizzazione delle prestazioni dei report con utilizzo intensivo della memoria
Durante la generazione del report, JasperReports compila un file di definizione del progetto di report (JRXML) in un file .jasper e quindi inserisce i dati nel file .jasper. L'output del processo di compilazione del report è un documento sotto forma di oggetto JasperPrint. Ogni istanza di questo oggetto può essere visualizzata, stampata o esportata in formati come HTML, PDF, CSV e Microsoft Excel.
Un virtualizzatore è necessario durante la creazione dell'oggetto JasperPrint. Quando si tratta di un insieme di dati di grandi dimensioni, è probabile che la dimensione dell'oggetto aumenti, portando a un maggiore consumo di memoria. Per evitare l'attivazione di un'eccezione Windchill di memoria esaurita, è necessario un virtualizzatore. Il virtualizzatore divide l'oggetto JasperPrint in più file e salva e comprime questi file sul disco rigido.
Windchill supporta i seguenti virtualizzatori:
• JRFileVirtualizer: crea file temporanei su disco. Genera un file temporaneo per pagina virtualizzata.
• JRSwapFileVirtualizer: crea un singolo file di scambio in cui vengono memorizzate tutte le pagine virtualizzate. La dimensione del file può essere estesa, se necessario.
• JRGzipVirtualizer: virtualizzatore di default. Non crea file per memorizzare pagine virtualizzate. Ottimizza il consumo di memoria comprimendo l'oggetto JasperPrint mediante l'algoritmo Gzip.
Le impostazioni per il virtualizzatore sono attivate tramite le proprietà riportate di seguito. Le proprietà sono configurate nel file jasper-integration.properties.xconf situato in WT_HOME/codebase.
• com.ptc.wbr.jasper.virtualizer.enabled: attiva il supporto del virtualizzatore Jasper per Windchill. Il valore di default è true.
• com.ptc.wbr.jasper.virtualizer: specifica il virtualizzatore di default da utilizzare. Il valore di default è JRGZIPVIRTUALIZER.
• com.ptc.wbr.jasper.virtualizer.cachedsize: specifica il numero di pagine di un oggetto JasperPrint da archiviare in memoria. Il valore di default è 300.
• com.ptc.wbr.jasper.jrswapvirtualizer.blocksize: specifica il numero di blocchi che devono essere allocati da un file di scambio. Il valore di default è 4096.
• com.ptc.wbr.jasper.jrswapvirtualizer.mingrowcount: specifica il numero minimo di blocchi in base ai quali il file di scambio può crescere quando è pieno. Il valore di default è 200.
• com.ptc.wbr.jasper.virtualizer.templocation: specifica la posizione temporanea in cui è possibile mantenere i file virtualizzati temporanei. Il valore di default è {WT.TEMP}.
|
PTC consiglia di non modificare i valori di default.
|