Я разрабатываю приложение с помощью JSF и использую сервер Glassfish, это приложение генерирует отчет с помощью jasperReport, приложение работает нормально и генерирует отчеты (в формате pdf), эти отчеты хранятся на моем диске, проблема в том, что я используйте
JasperViewer.viewReport(jasperPrint);
чтобы отобразить отчет пользователю и затем попытаться продолжить использовать мое приложение, оно не работает, я должен перезапустить приложение!
На консоли ошибка:
Completed shutdown of Log manager service
Мой код:
public void fillReport() throws ParseException, groovyjarjarcommonscli.ParseException {
try {
// - Connexion à la base
Driver monDriver = new com.mysql.jdbc.Driver();
DriverManager.registerDriver(monDriver);
connection = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/Mybase", "root", "root");
// - Chargement et compilation du rapport
JasperDesign jasperDesign = JRXmlLoader.load("C:/Documents and Settings/report2.jrxml");
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
Map parameterMap = new HashMap();
parameterMap.put("DateFrom", formatingDateTime(date1));
parameterMap.put("DateTo", formatingDateTime(date2));
parameterMap.put("SQL", Createquery());
// // - Execution du rapport
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameterMap, connection);
JasperViewer.viewReport(jasperPrint);
JasperExportManager.exportReportToPdfFile(jasperPrint,"C:/Documents and Settings/report2.pdf");
} catch (JRException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
connection.close();
}
Что я должен сделать, чтобы решить эту проблему?
PS: я обнаружил ту же проблему со стековым потоком, но не нашел решения (я не хочу удалять JasperViewer.viewReport (jasperPrint), потому что для меня тривиально отобразить отчет)
Отчет Jasper Создает PDF, а затем Glassfish аварийно завершает работу / выключается