Como fazer o duplo clique em prevenção no JSF 2

Temos algumas páginas de pesquisa que são executadas em vários dados e demoram um pouco para serem concluídas. Quando um usuário clica no botão de pesquisa, gostaríamos de não permitir que ele enviasse o resultado da pesquisa uma segunda vez.

Existe uma prática recomendada para fazer "duplo clique" detecção / prevenção no JSF?

O componente PrimeFaces parece poder fazer o que queremos, pois desabilitará a interface do usuário por um período de tempo entre quando o botão de pesquisa é clicado e quando a pesquisa é concluída, mas existe uma estratégia mais genérica que podemos usar (talvez algo que não seja dependente de PrimeFaces)? Idealmente, qualquer clique do botão será desabilitado ou desconsiderado até que a pesquisa seja concluída. Nós não precisamos necessariamente desativar a interface do usuário inteira (como o blockUI permite que você faça).

questionAnswers(6)

yourAnswerToTheQuestion