Upload de arquivo Java

Galera estou com um problema, gostaria de saber qual a melhor forma hoje para realizar upload de um arquivo grande para um servidor via jsp ou jsf, o arquivo a ser enviado varia de 50mb a 150mb.
Gostaria de uma solução rica com barra de progresso, contagem de kb enviados, mas nem faço idéia por onde começar, gostaria do apoio de vcs para indicar o caminho.

Parte visual utilizar richface com jsf, parte de código utilizar x biblioteca, etc…
Conto com a ajuda de vcs.

Obrigado!

O upload vai ser por volta deste tamanho mesmo? Pois tem o File Upload framework Apache mas acredito que ele suporte só até 2 MB.

Sim os arquivos são diarios e todos nesta faixa de tamanho!