我在Java中运行jasper报告来生成报告,我使用虚拟器来处理大量数据。但是,经过近3个小时的运行,突然抛出了java.lang.InterruptedException。它被我的程序捕获,这是堆栈跟踪。我所知道的是,只有当其他进程中断休眠或空闲进程时才抛出此异常。在我的情况下,其他进程可能会中断这个?
以下是控制台输出:
INFO: Filename:filename.pdf 08 8, 11 1:06:57 PM com.main.HugeReportGeneratorDriver generateSubReport INFO: [INFO] Output File: filename.pdf 08 8, 11 3:33:43 PM net.sf.jasperreports.engine.fill.JRThreadSubreportRunner suspend SEVERE: Fill 8072489: exception java.lang.InterruptedException at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.suspend(JRThreadSubreportRunner.java:185) at net.sf.jasperreports.engine.fill.JRBaseFiller.suspendSubreportRunner(JRBaseFiller.java:2095) at net.sf.jasperreports.engine.fill.JRVerticalFiller.addPage(JRVerticalFiller.java:1836) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageBreak(JRVerticalFiller.java:1916) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBreak(JRVerticalFiller.java:1945) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2048) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:757) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportContent(JRVerticalFiller.java:289) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:131) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:938) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:841) at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:608) at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59) at net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSubreportRunner.java:205) at java.lang.Thread.run(Thread.java:619)
我怀疑问题在于碧玉报道,我是否正确?有什么方法可以解决这个问题吗?
非常感谢!
-Brevis Iunius