2016-11-11 18 views

回答

2

JasperReports的-javaflow是可以在環境中產生新的Java線程被禁止使用標準JasperReports的罐子的變體。例如,幾年前的EJB容器就是這種情況(不知道它是否仍然如此)。但在大多數情況下,標準的JasperReports jar很好,你不需要擔心jasperreports-javaflow。

的JasperReports創建線程(默認)呈現子報表(和表格元素),因爲頁/分欄符要求的報表生成停止在調用堆棧中的某一點,然後在新頁/列恢復。 Commons Javaflow continuations提供了一種無線程的機制,並且jasperreports-javaflow jar包含了用於Javaflow延續的類。另請參閱JasperReports subreport sample documentation

要使用延續子報表亞軍,你需要包含在類路徑中的JasperReports-javaflow罐子(常規JasperReports的罐子代替,你不應該有兩個)以及下議院Javaflow罐子(例如在一個在http://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/org/apache/commons/commons-javaflow/20160505/),並設置在jasperreports.properties以下屬性:

net.sf.jasperreports.subreport.runner.factory=net.sf.jasperreports.engine.fill.JRContinuationSubreportRunnerFactory 
+0

我們正在使用的是部署在Tomcat的7,我能夠通過使用碧玉報告罐子創建的報告Java Web應用程序6_3_0單獨。如果我添加了jasperreport-javaflow,我沒有看到任何區別。所以在我的環境中,可以安全地說我不需要javaflow jar吧?如何測試我是否需要javaflow jar? – Karups

+0

你不需要jasperreports-javaflow。如果你想確定,你可以用一個子報表或一個表格元素測試一個報表,但我不明白爲什麼它不起作用。 – dada67

+0

查看詳情:https://web.archive.org/web/20090420131026/http://curiouscreature.net/blog/2008/07/29/running-jasperreports-with-subreports-in-an-app -server環境/ – Kamal