Aplicação trava na geração do relatório

Olá galera, estou com um problema chato aqui! Tenho uma aplicação Web que deve gerar alguns relatórios a partir de ManagedBeans. Até aqui tudo ok! O problema é que a rotina de geração do relatório está travando a aplicação. Quando a linha 10 é executada, um aplicativo chamado org.apache.catalina.startup.Bootstrap abre no Dock. Quando a linha 11 é executada, o método fillReport não retorna e a aplicação trava e não responde mais!
Código do bean:

public void gerarRelatorio(ActionEvent e) throws SQLException, JRException, IOException {

        try {
            Class.forName("com.mysql.jdbc.Driver"); // 1
            FacesContext contexto =  FacesContext.getCurrentInstance(); // 2
            String caminhoRelatorio = contexto.getExternalContext().getRealPath("/resources/relatorios/rel_participantes.jasper"); // 3
            Map<String, Object> params = new HashMap<String, Object>(); // 4
            Properties connectionProps = new Properties(); // 5
            Connection conexaoBanco = null; // 6
            params.put("ID_EVENTO", eventoSelecionado.getIdtEvento()); // 7
            connectionProps.put("user", "root"); // 8
            conexaoBanco = DriverManager.getConnection("jdbc:mysql://localhost:3306/SisEventosDB", connectionProps); // 9
            JasperReport rel = (JasperReport) JRLoader.loadObject(caminhoRelatorio); // 10
            JasperPrint print = JasperFillManager.fillReport(rel, params, conexaoBanco); // 11
            ((HttpServletResponse)contexto.getExternalContext().getResponse()).addHeader("Content-disposition", "attachment; filename=Relatorio_Presenca.pdf");
            JasperExportManager.exportReportToPdfStream(print, FacesContext.getCurrentInstance().getExternalContext().getResponseOutputStream()); // 12
            MessageHelper.showGlobalMessage(">> " +  rel.getFields().length, FacesMessage.SEVERITY_INFO); // 13
        } catch (ClassNotFoundException ex) {
        }


    }

Xml do relatório:

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="SisEventos_RelatorioEvento" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
	<property name="ireport.zoom" value="1.0"/>
	<property name="ireport.x" value="0"/>
	<property name="ireport.y" value="0"/>
	<parameter name="ID_EVENTO" class="java.lang.Integer" isForPrompting="false">
		<defaultValueExpression><![CDATA[1]]></defaultValueExpression>
	</parameter>
	<queryString>
		<![CDATA[select idt_evento, nme_evento, dta_inicio_evento, dta_termino_evento, nme_participante, eml_participante from tb_inscricao as t1
inner join tb_evento as t2 on t1.cod_evento = t2.idt_evento
inner join tb_participante as t3 on t1.cod_participante = t3.idt_participante
where t1.cod_evento = $P{ID_EVENTO}
group by t2.nme_evento order by t2.dta_inicio_evento asc;]]>
	</queryString>
	<field name="idt_evento" class="java.lang.Integer"/>
	<field name="nme_evento" class="java.lang.String"/>
	<field name="dta_inicio_evento" class="java.sql.Timestamp"/>
	<field name="dta_termino_evento" class="java.sql.Timestamp"/>
	<field name="nme_participante" class="java.lang.String"/>
	<field name="eml_participante" class="java.lang.String"/>
	<group name="gEventos">
		<groupExpression><![CDATA[$F{nme_evento}]]></groupExpression>
		<groupHeader>
			<band height="42">
				<rectangle>
					<reportElement x="25" y="21" width="530" height="20" forecolor="#666666" backcolor="#666666"/>
				</rectangle>
				<staticText>
					<reportElement x="35" y="21" width="267" height="20" forecolor="#FFFFFF"/>
					<textElement textAlignment="Left" verticalAlignment="Middle"/>
					<text><![CDATA[Participante]]></text>
				</staticText>
				<staticText>
					<reportElement x="302" y="21" width="186" height="20" forecolor="#FFFFFF"/>
					<textElement textAlignment="Left" verticalAlignment="Middle"/>
					<text><![CDATA[E-mail]]></text>
				</staticText>
				<staticText>
					<reportElement x="488" y="21" width="68" height="20" forecolor="#FFFFFF"/>
					<textElement textAlignment="Left" verticalAlignment="Middle"/>
					<text><![CDATA[Presente]]></text>
				</staticText>
				<textField isStretchWithOverflow="true">
					<reportElement x="0" y="1" width="270" height="20"/>
					<textElement>
						<font size="14" isBold="true"/>
					</textElement>
					<textFieldExpression><![CDATA["Evento: " + $F{nme_evento}]]></textFieldExpression>
				</textField>
				<line>
					<reportElement x="270" y="12" width="280" height="1"/>
				</line>
			</band>
		</groupHeader>
		<groupFooter>
			<band height="50"/>
		</groupFooter>
	</group>
	<background>
		<band splitType="Stretch"/>
	</background>
	<title>
		<band height="60" splitType="Stretch">
			<rectangle>
				<reportElement x="0" y="0" width="200" height="60" forecolor="#E6E6E6" backcolor="#E6E6E6"/>
			</rectangle>
			<staticText>
				<reportElement x="0" y="0" width="200" height="60" forecolor="#666666" backcolor="#FFFFFF"/>
				<textElement textAlignment="Center" verticalAlignment="Middle">
					<font fontName="Arial" size="30"/>
				</textElement>
				<text><![CDATA[SisEventos]]></text>
			</staticText>
			<staticText>
				<reportElement x="200" y="35" width="355" height="25"/>
				<textElement textAlignment="Right" verticalAlignment="Middle">
					<font fontName="Arial" size="18" isBold="true" isUnderline="false"/>
				</textElement>
				<text><![CDATA[Relatório de Participantes dos Eventos]]></text>
			</staticText>
			<line>
				<reportElement x="200" y="59" width="355" height="1"/>
			</line>
		</band>
	</title>
	<pageHeader>
		<band height="14" splitType="Stretch"/>
	</pageHeader>
	<columnHeader>
		<band splitType="Stretch"/>
	</columnHeader>
	<detail>
		<band height="20" splitType="Stretch">
			<rectangle>
				<reportElement x="25" y="0" width="530" height="20" forecolor="#E6E6E6" backcolor="#E6E6E6">
					<printWhenExpression><![CDATA[$V{COLUMN_COUNT}%2==0]]></printWhenExpression>
				</reportElement>
			</rectangle>
			<textField isStretchWithOverflow="true">
				<reportElement x="34" y="0" width="267" height="20"/>
				<textElement textAlignment="Left" verticalAlignment="Middle"/>
				<textFieldExpression><![CDATA[$F{nme_participante}]]></textFieldExpression>
			</textField>
			<textField isStretchWithOverflow="true">
				<reportElement x="302" y="0" width="185" height="20"/>
				<textElement verticalAlignment="Middle"/>
				<textFieldExpression><![CDATA[$F{eml_participante}]]></textFieldExpression>
			</textField>
			<rectangle radius="10">
				<reportElement x="500" y="2" width="15" height="15"/>
			</rectangle>
		</band>
	</detail>
	<columnFooter>
		<band splitType="Stretch"/>
	</columnFooter>
	<pageFooter>
		<band height="20" splitType="Stretch">
			<textField>
				<reportElement x="355" y="0" width="200" height="20"/>
				<textElement textAlignment="Right" verticalAlignment="Middle"/>
				<textFieldExpression><![CDATA["Página "+$V{PAGE_NUMBER}+" de "+ $V{PAGE_NUMBER}]]></textFieldExpression>
			</textField>
			<textField isStretchWithOverflow="true" pattern="EEE, dd MMM yyyy - HH:mm:ss" isBlankWhenNull="true">
				<reportElement x="0" y="0" width="200" height="20"/>
				<textElement verticalAlignment="Middle"/>
				<textFieldExpression><![CDATA["Impresso em: " + new java.util.Date().toLocaleString()]]></textFieldExpression>
			</textField>
			<line>
				<reportElement x="0" y="0" width="555" height="1"/>
			</line>
		</band>
	</pageFooter>
	<summary>
		<band splitType="Stretch"/>
	</summary>
</jasperReport>

Alguém se habilita? auhsauhs… Estou precisando urgente de uma solução. Caso alguém tenha alguma dica ou link que eu possa estudar para tentar resolver…