1

我在 Java 中运行 jasper 报告来生成报告,我使用虚拟器来处理大量数据。但是,在运行了将近 3 个小时后,突然抛出了 java.lang.InterruptedException。它被我的程序捕获,这是堆栈跟踪。我所知道的是,只有当其他进程中断睡眠或空闲进程时才会引发此异常。就我而言,还有什么其他过程可以打断这一点?

下面是控制台输出:

    信息:文件名:文件名.pdf
    08 8 11 1:06:57 PM com.main.HugeReportGeneratorDriver generateSubReport
    信息:[INFO] 输出文件:filename.pdf
    08 8, 11 3:33:43 PM net.sf.jasperreports.engine.fill.JRThreadSubreportRunner 暂停
    严重:填写 8072489:异常
    java.lang.InterruptedException
        在 java.lang.Object.wait(本机方法)
        在 java.lang.Object.wait(Object.java:485)
        在 net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.suspend(JRThreadSubreportRunner.java:185)
        在 net.sf.jasperreports.engine.fill.JRBaseFiller.suspendSubreportRunner(JRBaseFiller.java:2095)
        在 net.sf.jasperreports.engine.fill.JRVerticalFiller.addPage(JRVerticalFiller.java:1836)
        在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageBreak(JRVerticalFiller.java:1916)
        在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBreak(JRVerticalFiller.java:1945)
        在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2048)
        在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:757)
        在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportContent(JRVerticalFiller.java:289)
        在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:131)
        在 net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:938)
        在 net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:841)
        在 net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:608)
        在 net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59)
        在 net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSubreportRunner.java:205)
        在 java.lang.Thread.run(Thread.java:619)

我怀疑问题出在碧玉报告中,对吗?有什么办法可以处理这是我的程序吗?

非常感谢!

——布雷维斯·尤纽斯

4

0 回答 0