Exibir um PDF armazenado no BD usando JSF

Olá pessoal,

Sou novo em JSF e estou precisando exibir arquivos PDF que estão armazenados no BD (byte[]), usando JSF. Porém, ao executar o método abaixo nada acontece. Já verifiquei o retorno da consulta para ver se o byte[] tinha sido trazido do banco e está tudo ok. Será que alguem poderia me dar uma luz ?

Antecipadamente agradeço …

  public String exibirDocumento() throws IOException{

        DocumentoSimplificado documentoSimplificadoSelecionado = (DocumentoSimplificado) getBean("documento");

        byte[] bytes = null;

        bytes = documentoFacade.find(documentoSimplificadoSelecionado.getId()).getArquivo();

        FacesContext context = FacesContext.getCurrentInstance();

        HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();

        response.addHeader("Content-disposition","attachment;filename=reporte.pdf");

        response.setContentLength(bytes.length);

        response.getOutputStream().write(bytes);

        response.setContentType("application/pdf");

        context.responseComplete();

        return null;        

    }

tenta assim:

public String exibirDocumento() throws IOException{   
  
      DocumentoSimplificado documentoSimplificadoSelecionado = (DocumentoSimplificado) getBean("documento");   
  
      byte[] bytes = null;   
  
      bytes = documentoFacade.find(documentoSimplificadoSelecionado.getId()).getArquivo();   
  
      FacesContext context = FacesContext.getCurrentInstance();   
  
      HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();   
  
      response.setContentType("application/octet-stream"); 

      response.addHeader("Content-Disposition","attachment;filename=reporte.pdf");   
  
      response.setContentLength(bytes.length);   
  
      response.getOutputStream().write(bytes);     
  
      response.getOutputStream().flush();      

      context.responseComplete(); //se não der certo comenta essa linha e testa de novo   
  
      return null;           
  
  } 

a retorne uma String no seu metodo nao um null, retorne uma String que esteja mapeada para exibir a mesma página.

Olá Marcos,

 Antes de mais nada, obrigado por responder. Tentei das 2 maneiras mas infelizmente ainda não funcionou. Tentei também colocar um <redirect/> no meu navigation-case pra forçar o redirecionamento, mas também não tive sucesso.
 Você teria mais alguma sugestão ?
    <navigation-rule>
        <from-view-id>/jsp/index/Index.jsp</from-view-id>
        <navigation-case>
            <from-outcome>reexibir</from-outcome>
            <to-view-id>/jsp/index/Index.jsp</to-view-id>
            <redirect/>
        </navigation-case>
    </navigation-rule>