Relatório jaspersoft reports trava quando tento gerar dois ao mesmo tempo

Boa tarde a todos. criei um gerador de relatórios vendas. esta funcionando corretamente. Porem quando tento abrir dois relatórios ao mesmo tempo o sistema trava e da a seguinte exceção.

net.sf.jasperreports.engine.JRException: Error trying to export to file : C:\BLVendas\rel0.pdf
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:389)
at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:122)
at relatorios.DAORelatorios.gerarRelatorioCliente(DAORelatorios.java:61)
at controller.ControllerCliente.gerarRelatorioCliente(ControllerCliente.java:82)
at view.ViewPrincipal$51.run(ViewPrincipal.java:941)
Caused by: java.io.FileNotFoundException: C:\BLVendas\rel0.pdf (O arquivo já está sendo usado por outro processo)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.(FileOutputStream.java:213)
at java.io.FileOutputStream.(FileOutputStream.java:162)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:383)
… 4 more

Meu método.

public boolean gerarRelatorioCliente() {
try {
this.conectar();
this.executarSQL("SELECT "
+ " clientes.codigo AS clientes_codigo, "
+ " clientes.nome AS clientes_nome, "
+ " clientes.nome_fantasia AS clientes_nome_fantasia, "
+ " clientes.endereco AS clientes_endereco, "
+ " clientes.bairro AS clientes_bairro, "
+ " clientes.cep AS clientes_cep, "
+ " clientes.telefone AS clientes_telefone, "
+ " clientes.cpf_cnpj AS clientes_cpf_cnpj, "
+ " clientes.observacao AS clientes_observacao, "
+ " clientes.ativo AS clientes_ativo, "
+ " clientes.tipo_pessoa AS clientes_tipo_pessoa, "
+ " cidade.codigo_ibge AS cidade_codigo_ibge, "
+ " cidade.codigo AS cidade_codigo, "
+ " cidade.nome AS cidade_nome, "
+ " estado.uf AS estado_uf, "
+ " estado.nome AS estado_nome "
+ “FROM "
+ " cidade cidade INNER JOIN clientes clientes ON cidade.codigo = clientes.cod_cidade "
+ " INNER JOIN estado estado ON cidade.fk_cod_estado = estado.codigo”);
JRResultSetDataSource jrRS = new JRResultSetDataSource(getResultSet());
// caminho do arquivo dentro dos pacotes
InputStream caminhoRelatorio = this.getClass().getClassLoader().getResourceAsStream(“ArquivosJasper/relatorioClientes.jasper”);
JasperPrint jasperPrint = JasperFillManager.fillReport(caminhoRelatorio, new HashMap(), jrRS);

        String nomeArquivo = "C:/BLVendas/rel0.pdf";
        JasperExportManager.exportReportToPdfFile(jasperPrint, nomeArquivo);
        File file = new File(nomeArquivo);
        file.deleteOnExit();
        try {
            Desktop.getDesktop().open(file);
        } catch (Exception e) {
            JOptionPane.showConfirmDialog(null, e);
        }
        file.deleteOnExit();
        
    } catch (Exception e) {
        e.printStackTrace();
        JOptionPane.showMessageDialog(null, e.getMessage(), "Erro:", JOptionPane.ERROR_MESSAGE);
        return false;
    }
    return true;
}

Não seria este o motivo!

Seria sim! Porem o sistema trava! o primeiro gera normal. O segundo que da essa exceção. eu queria gerar quantos relatórios eu quisesse. Porem caso não tenha como, gostaria de tratar essa exceção. O sistema esta travando quando tento gerar dois. pelo menos não travar e retornar uma mensagem.