Estou com um relatório que roda o fonte normal, porem não exibe no navegador para download. Ao executar ele não exibe nenhum erro e após a execução finaliza o servidor.
public void emitir() {
Map<String, Object> parametros = new HashMap<>();
parametros.put("data_inicio", this.dataInicio);
parametros.put("data_fim", this.dataFim);
ExecutorRelatorio executor = new ExecutorRelatorio("/relatorios/relatorio_pedidos_emitidos.jasper",
this.response, parametros, "Pedidos emitidos.pdf");
Session session = manager.unwrap(Session.class);
session.doWork(executor);
if (executor.isRelatorioGerado()) {
facesContext.responseComplete();
} else {
FacesUtil.addErrorMessage("A execução do relatório não retornou dados.");
}
}
@Override
public void execute(Connection connection) throws SQLException {
try {
InputStream reportStream = this.getClass().getResourceAsStream(pathReport);
JasperPrint print = JasperFillManager.fillReport(reportStream, parameters, connection);
reportGenereted = print.getPages().size() > 0;
if (reportGenereted) {
JRExporter exported = new JRPdfExporter();
exported.setParameter(JRExporterParameter.OUTPUT_STREAM, response.getOutputStream());
exported.setParameter(JRExporterParameter.JASPER_PRINT, print);
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=\"" + nameFileOut + "\"");
exported.exportReport();
}
} catch (Exception e) {
throw new SQLException("Erro ao executar relatório " + pathReport, e);
}
}`