Bom dia pessoal... venho buscando alternativas para melhorar o desempenho deste codigo abaixo... a principio ele insere de 20 em 20 no banco, porém, o processo total demora aproximadamente 13 minutos... tem alguma outra maneira de melhorar ?
Callable<Optional<Insumo>> callable = () -> {
return linkedHashInsumos.stream().filter(insumo -> codigoBase.compareTo(insumo.getBase1_cod()) == 0 &&
(tipo.equalsIgnoreCase("INSUMO") ? "0" : "1").equalsIgnoreCase(insumo.getInsu1_com()) &&
codigoIde.equalsIgnoreCase(insumo.getInsu1_ide())).findFirst();
};
ExecutorService service = Executors.newFixedThreadPool(4);
Future<Optional<Insumo>> future = service.submit(callable);
final Optional<Insumo> in = future.get();
O principal é:
linkedHashInsumos.stream().filter(insumo -> codigoBase.compareTo(insumo.getBase1_cod()) == 0 &&
(tipo.equalsIgnoreCase("INSUMO") ? "0" : "1").equalsIgnoreCase(insumo.getInsu1_com()) &&
codigoIde.equalsIgnoreCase(insumo.getInsu1_ide())).findFirst();