Caros,
Estou usando Vraptor e Ireport. Criei um Logic que gera um relatório apenas se este relatório retorna registros. É mais ou menos assim:
Se numero de registros > 0 {
geraRelatorio
return "OK"
}
Senão
return "invalid" //direciona para minha página de erro
O problema é que quando o relatório é gerado, o response sofre o comit pelo jasper e depois o Vraptor tenta fazer mais um commit, gerando uma java.lang.IllegalStateException. Teria como eu evitar este commit no response feito pelo Vraptor ? Segue abaixo meu código:
public String gerarRelatorio(Long idContratante, String carteiras, String filiais, Date periodoData1, Date periodoData2, Long idAssessoria) {
Connection con = null;
try {
String nomeDataSource = PropertiesUtil.obterPropriedadeConfig(servletContext, "relatorio_ds");
con = DSLocator.lookup(nomeDataSource).getConnection();
if (getRowCount2(con, periodoData1, periodoData2) > 0){
exportarXLSRelacaoRecibo(periodoData1, periodoData2);
return "ok";
}
} catch (Exception e) {
log.error("Erro gerando relatório.", e);
} finally {
try {
con.close();
} catch (Exception e) {
log.error("Erro fechando conexão do relatório de recibos.", e);
}
}
return "invalid";
}
Alguém tem alguma idéia ?

