Отчеты Jasper 6.8: isStretchWithOverflow="true" вызывает случайные исключения нулевого указателяJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Отчеты Jasper 6.8: isStretchWithOverflow="true" вызывает случайные исключения нулевого указателя

Сообщение Anonymous »

Я использую JasperReports 6.x для создания отчетов с более чем 60 таблицами, каждая таблица содержит в среднем около 10 столбцов. Мой отчет использует свойство isStretchWithOverflow="true" для многих текстовых полей для обработки динамического содержимого. Однако я постоянно сталкиваюсь с проблемой:
Проблема:
При создании отчета иногда возникает следующая ошибка:

Код: Выделить всё

java.lang.NullPointerException: null   at net.sf.jasperreports.engine.fill.FillerSubreportParent.isSplitTypePreventInhibited(FillerSubreportParent.java:116)   at net.sf.jasperreports.engine.fill.JRFillBand.isSplitTypePreventInhibited(JRFillBand.java:633)   at net.sf.jasperreports.engine.fill.JRFillBand.isSplitTypePreventInhibited(JRFillBand.java:612)   at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2589)   at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:813)   at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:264)   at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:110)   at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:615)   at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:432)   at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:818)   at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:61)   at net.sf.jasperreports.engine.fill.AbstractThreadSubreportRunner.run(AbstractThreadSubreportRunner.java:221)   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)   at java.lang.Thread.run(Thread.java:748)   
Эта ошибка возникает произвольно и не всегда для одного и того же поля.
Наблюдения:< /p>
Свойство isStretchWithOverflow="true" в отчете используется в 533 местах.
Когда возникает ошибка:
Я временно установил isStretchWithOverflow="false" для всех полей, и отчет работает нормально.
Однако это свойство важно для моего отчета, поэтому мне нужно снова включить его.
Для отладки я включаю это свойство частями, например:
Включите его для 50 полей, запустите отчет и проверьте, возникает ли ошибка.
Если ошибок нет, я перехожу к следующим 50 полям и так далее.
Если ошибка ошибка происходит в определенном куске, я сужаю его до меньшего диапазоны (например, 10 полей), чтобы найти проблемное поле.
Странная часть: проблемное поле меняется каждый раз, когда я запускаю отчет. Например:
При одном запуске ошибка может возникнуть в таблице X1.
После исправления или тестирования этой таблицы ошибка может возникнуть в таблице X5 в следующий раз.
Ошибка может возникнуть в таблице X1.
p>
Что я пробовал:
Временно установить isStretchWithOverflow="false" для всех полей.
Тестирование в меньшие куски, чтобы найти проблематичные поле.
Журналы отладки, но они показывают только одно и то же исключение нулевого указателя без указания на конкретное поле или причину.
Вопрос:
Что может быть причиной такого случайного поведения с isStretchWithOverflow="true"?
Как я могу эффективно отладить это или устранить проблему ?
Есть ли лучший способ обрабатывать динамический контент в больших отчетах JasperReports со множеством таблиц и полей?
Будем очень признательны за любые рекомендации и предложения!

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

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

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

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

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

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

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