Boa tarde pessoal,
eu criei um richupload para carregar um arquivo *.sql e esse mesmo ser carregado para o banco. Porém está muitíssimo lento. Eu gostaria de saber se tem como melhorar esse carregamento, ou se tem uma forma melhor para que esse processo fique mais rapido, pois está muito lento.
E as vezes, esse processo chega a travar.
Aqui está meu componente.
<h:panelGrid columns="2" columnClasses="top,top">
<rich:fileUpload fileUploadListener="#{usuarioBean.listener}"
maxFilesQuantity="1"
id="upload" addControlLabel="Procurar Arquivo"
uploadControlLabel="Carregar Arquivo"
doneLabel="Arquivo carregado com Sucesso!!"
clearControlLabel="Limpar"
clearAllControlLabel="Limpart tudo"
immediateUpload="#{usuarioBean.autoUpload}"
acceptedTypes="jpg, gif, png, bmp,pdf,txt,sql" allowFlash="#{fileUploadBean.useFlash}">
<a4j:support event="onuploadcomplete" />
</rich:fileUpload>
</h:panelGrid>
Aqui está me usuarioBean com o método que carrega o arquivo.
public void carregarArquivo() throws InterruptedException{
SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");
String data = formatador.format(new Date());
data = data.replace("/", "");
String caminhoArquivo = "c:\\backup_"+ data + ".sql";
upload.carregarBackup(caminhoArquivo);
}
Aqui está meu uploadUtil com o metodo carregarBackup.
public void carregarBackup(String nomeDoArquivo) throws InterruptedException {
SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");
String data = formatador.format(new Date());
data = data.replace("/", "");
/*
* String comando =
* "cmd.exe /c mysql -uroot -proot -f test < c:\\backup_LOMACON_" + data
* + ".sql";
*/
String comando = "cmd.exe /c mysql -uroot -proot -f lomacon < c:\\lomacon\\"
+ nomeDoArquivo;
try {
Process p = Runtime.getRuntime().exec(comando);
p.waitFor();
//Runtime.getRuntime().exec(comando);
} catch (IOException e) {
e.printStackTrace();
}
}