Jasper Reports: подотчеты вызывают бесконечный циклJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Jasper Reports: подотчеты вызывают бесконечный цикл

Сообщение Anonymous »

В моем приложении есть несколько отчетов Jasper (с подотчетами). По какой-то причине один отчет (который также содержит вложенные отчеты) больше не работает. После отладки более 1 дня я обнаружил, что он входит в бесконечный цикл и продолжает создавать потоки для заполнения подотчета.

Отладчик продолжает циклически переходить между:

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;
}
Приведенный выше метод запускает поток для заполнения подотчета. После этого устанавливается 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();
}
}
После завершения потока он переходит к строке метода subreportFiller.notifyAll(), описанному выше.. Затем отладчик возвращается к JRSubreportRunnable.java и так далее.

Теоретически, если у меня есть 5 подотчетов, должно быть создано 5 потоков (у меня работает для других отчетов). К сожалению, в этом случае он продолжает создавать потоки, и мой отладчик «застревает» между двумя упомянутыми выше методами (к вашему сведению: классы взяты из jasperreports-3.7.6-sources.jar).

Также пробовал:

Я нашел аналогичный вопрос StackOverflow, но ответ предложенное там мне не помогло. Ни одно из предложенных решений в этой теме в сообществе JasperSoft не помогло.

Я действительно не могу понять, почему возникает эта проблема. Я уверен, что это что-то незначительное, поскольку раньше это работало. Надеюсь, кто-то еще наткнулся на это и может найти решение. Заранее спасибо за любой ответ. (Я знаю, что не предоставил много информации о содержании моих подотчетов, но это довольно конфиденциально; тем не менее, я могу заверить вас, что содержимое отчета и связанных с ним подотчетов не изменилось - проверено с помощью Git )

Подробнее здесь: https://stackoverflow.com/questions/129 ... inite-loop
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»