Olá boa noite, estou com um projeto JSF 2.2 rodando no wildfly estou usando o JTA , ou seja a conexao com o banco nçao é acessada como RESOURCE_LOCAL eu tenho um relatório JÁ compilado que esperara um Paramâmetro PEDIDO_ID como eu pego a conexão da JTA para colocar no JasperFillManager e conseguir imprimir meu relatório? SEGUE MEU CODIGO ATE ENTAO...
public void geraPDFdoRecibo(Pedido pedido) {
// Caminho do Relatório
String pathReciboJasper = context
.getExternalContext()
.getRealPath("/recibos/recibo.jasper");
System.out.println("Caminho REAL DO .JASPER" + pathReciboJasper);
// Parâmetros
Map<String, Object> params = new HashMap<>();
params.put("PEDIDO_ID", pedido.getId());
try {
// Conexao com o Banco de Dados JNDI
InitialContext initialContext = new InitialContext();
DataSource dataSource = (DataSource) initialContext.lookup("java:jboss/datasources/meuDataSource");
Connection connection = dataSource.getConnection();
JasperPrint jasperPrint =
JasperFillManager.fillReport(pathReciboJasper, params, connection);
JasperPrintManager.printReport(jasperPrint, true);
} catch (NamingException | SQLException | JRException e) {
e.printStackTrace();
}
}