2016-02-06 3 views
0

У меня есть веб-приложение, разработанное с использованием Vaadin Framework, и я использую отчеты Jasper для создания отчетов. Код выглядит следующим образом:Jasper Report делает приложение Vaadin для сбоя

// Vaadin Button Listener 
    JasperDesign desenho = JRXmlLoader.load(layout); 
    JasperReport r= JasperCompileManager.compileReport(desenho); 

    // create some params and resultSet 

    JRResultSetDataSource jrRS = new JRResultSetDataSource(resultSet); 

    //Do some stuff 

    JasperPrint impressao = JasperFillManager.fillReport(r, params, jrRS); 
    JasperViewer viewer = new JasperViewer(impressao , true); 
    viewer.show(); 

после нажатия пользователем кнопки «Показать отчет» отчеты представлены в окне яшма просмотра

enter image description here

Пользователь может по-прежнему использовать веб-приложение ТЕМ это Jasper окно просмотра открыто, но после закрытия пользователем веб-приложение генерирует сообщение об ошибке связи. Отображение JSON текстовая ошибка, а иногда также приостанавливающий протоколHandler ["http-nio-8080"]

Любая идея? Заранее спасибо!

+0

Является ли создание отчета длительным? –

+0

Нет, отчет генерируется хорошо, проблема кажется (я уверен), что, когда это окно Jasper Viewer закрывается, он завершает работу сервера tomcat. Причина не знаю! –

ответ

1

Полное объяснение можно найти на this link:

Короткий ответ заключается в изменении true в false на следующей строке:

JasperViewer viewer = new JasperViewer(impressao , true); 

То есть параметр isExitOnClose, это desactivates вызов т системы. exit (0) в средстве просмотра Jasper, которое заставляет Tomcat закрываться.