2011-10-10 123 views
0

對於多個報告,我有一個調用許多Web服務的scriptlet。這些調用是在afterReportInit()方法下完成的,以填充一些HashMap,然後在報告中使用這些HashMap。問題在於Web服務調用在每個報告生成時都會執行,導致性能很低。多個報告的一個scriptlet實例

我正在尋找一種解決方法來爲所有報告調用一次web服務。該報告部署在的JasperServer

回答

1

注意我尋找到的東西。到目前爲止,我所發現的是,JasperReports有一個自定義的類裝載器,JRClassLoader將需要延長:

http://grepcode.com/file/repo1.maven.org/maven2/net.sf.jasperreports/jasperreports/4.1.2/net/sf/jasperreports/engine/util/JRClassLoader.java#JRClassLoader.%3Cinit%3E%28java.lang.ClassLoader%29

我個人不會與類加載機制打擾而會嘗試緩存如果可能的話,使用memcache調用Web服務的結果......根據你的設置,Apache可能也會這樣做。