Como consultar a capacidade do JVM?

0 respostas
E

Olá galera, eu tenho um processamento de arquivos, quando eu coloco, 1,2,3,..10,20,30 arquivos ele roda perfeitamente, porém, quando eu coloco uns 500 arquivos para processar de uma vez, o processamente fica leeento, se arrastando, qual a solução para resolver isso? aumentar a capacidade do JVM? (não dá outOfMemory, ele apenas fica lentão)... se for esta a solução como eu verifico a capacidade do meu JVM? Qual é a padrão? eu já achei como modificar, mas não sei como verificar.

segue abaixo um trecho do codigo do processamento:

public void processarArquivosArrecadacao(){
		
		layoutEmCache = new HashSet<LayoutCampo>();
		formaPagamentoEmCache = new HashSet<FormaPagamentoArrecadacao>();
		
		getLog().setLevel(Level.DEBUG);
		getLog().debug("Iniciando o processamento dos arquivos de retorno...");
		
		ConfiguracaoSistema configuracaoSistema = configuracaoSistemaService.buscarConfiguracaoSistema();
		List<File> arquivosAProcessar = FileUtil.getFileByPath(configuracaoSistema.getDiretorioLeitura(), "*.*");
		
		getLog().debug("Encontrado " + arquivosAProcessar.size() + " para processar...");
		
		List<String> listaNomeArquivoDono = criarListaNomesArquivo(arquivosAProcessar);
		moverArquivosDiretorioTemp(configuracaoSistema, arquivosAProcessar);
		arquivosAProcessar = FileUtil.getFileByPath(configuracaoSistema.getDiretorioTemp(), "*.*");
		
		realizarProcessamentoArquivo(arquivosAProcessar, configuracaoSistema, listaNomeArquivoDono);
	}

private void realizarProcessamentoArquivo(List<File> arquivosAProcessar, ConfiguracaoSistema configuracaoSistema, List<String> listaNomeArquivoDono) {
		for (File arquivo : arquivosAProcessar) {
			
			if (!scheduleEDonoArquivo(arquivo, listaNomeArquivoDono)) {
				continue;
			}
			
			try{
				realizarProcessamentoArquivo(arquivo, configuracaoSistema);
			}catch (Exception e) {
				continue;
			}
		}
	}
Criado 19 de setembro de 2014
Respostas 0
Participantes 1