Pessoal, to com um problema em uma classe responsável por fazer a cópia de arquivos.
Aí na exception ele me retorna essa mensagem: Nao existem recursos de sistema sucifientes para concluir o serviço solicitado.
O JAVA está se referindo a recursos de sistema como memória, espaço em disco e etc?
Espaço em disco há até de sobra para copiar o arquivo.
O tamanho total do arquivo é de cerca de 800MB.
Segue o código que estou utilizando:
public static void main(String[] args) {
System.out.println("Backup da base de dados...");
FileChannel oriChannel = null;
String DIR_DESTINO = "";
try {
oriChannel = new FileInputStream("\\\\x.x.x.x\\dir_backup$\\BASE.ZIP").getChannel();
} catch (Exception e) {
System.out.println("Nao foi possivel iniciar a copia: " + e.getLocalizedMessage());
System.exit(0);
}
Calendar dia = Calendar.getInstance();
String[] diaSem = {"Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"};
DIR_DESTINO = "\\\\x.x.x.x\\dir_backup$\\" + diaSem[dia.get(Calendar.DAY_OF_WEEK) - 1];
File dir = new File(DIR_DESTINO);
if (!dir.exists()) {
dir.mkdir();
} else {
String[] arqs = dir.list();
if (arqs.length > 0) {
for (String arq : arqs) {
File arquivo = new File(dir, arq);
arquivo.delete();
}
}
}
System.out.println("Iniciando copia de arquivo...");
FileChannel destChannel = null;
try {
destChannel = new FileOutputStream(DIR_DESTINO + "\\BASE.ZIP").getChannel();
} catch (Exception e) {
System.out.println("Nao foi possivel criar o arquivo de destino: " + e.getLocalizedMessage());
System.exit(0);
}
try {
destChannel.transferFrom(oriChannel, 0, oriChannel.size());
} catch (IOException e) {
System.out.println("Nao foi possivel realizar o backup: " + e.getLocalizedMessage());//ESSA É A EXCEÇÃO EXIBIDA.
System.exit(0);
}
System.out.println("Copia concluída com sucesso.");
// Fecha channels
try {
oriChannel.close();
destChannel.close();
} catch (Exception e) {
} finally {
System.exit(0);
}
}
Explicando melhor o código.
Um sistema que temos gera um arquivo compactado como backup de sua base de dados.
Porém ele gera sempre com o nome BASE.ZIP
Dessa forma temos apenas o backup de um dia.
O código acima copia esse arquivo para um outro servidor de backups, colocando o mesmo na pasta do dia da semana correspondente, dessa forma teremos o backup de até 7 dias atrás.
Porém estou com esse erro.
Agradeço a quem puder ajudar.
Vlw.