Отладчик продолжает циклически переходить между:
JRSubReportRunnable.java
Код: Выделить всё
public void run()
{
running = true;
error = null;
try
{
fillSubreport.fillSubreport();
}
catch (JRFillInterruptedException e)
{
//If the subreport filler was interrupted, we should remain silent
}
// we have to catch Throwable, because it is difficult to say what would happen with the master
// filler thread in case we don't
catch (Throwable t) //NOPMD
{
error = t;
}
running = false;
}
JRThreadSubreportRunner.java
Код: Выделить всё
public void run()
{
super.run();
if (log.isDebugEnabled())
{
log.debug("Fill " + subreportFiller.fillerId + ": notifying of completion");
}
synchronized (subreportFiller)
{
//main filler notified that the subreport has finished
subreportFiller.notifyAll();
}
}
Теоретически, если у меня есть 5 подотчетов, должно быть создано 5 потоков (у меня работает для других отчетов). К сожалению, в этом случае он продолжает создавать потоки, и мой отладчик «застревает» между двумя упомянутыми выше методами (к вашему сведению: классы взяты из jasperreports-3.7.6-sources.jar).
Также пробовал:
Я нашел аналогичный вопрос StackOverflow, но ответ предложенное там мне не помогло. Ни одно из предложенных решений в этой теме в сообществе JasperSoft не помогло.
Я действительно не могу понять, почему возникает эта проблема. Я уверен, что это что-то незначительное, поскольку раньше это работало. Надеюсь, кто-то еще наткнулся на это и может найти решение. Заранее спасибо за любой ответ. (Я знаю, что не предоставил много информации о содержании моих подотчетов, но это довольно конфиденциально; тем не менее, я могу заверить вас, что содержимое отчета и связанных с ним подотчетов не изменилось - проверено с помощью Git )
Подробнее здесь: https://stackoverflow.com/questions/129 ... inite-loop