Java · Avançado · Português · Técnico
delegação ao classloader pai
Regra pela qual um classloader pede primeiro ao pai para carregar uma classe e só tenta ele mesmo se o pai não encontrar. Evita duplicar classes do JDK.
Onde usar
Aparece em servidores de aplicação e plugins, que às vezes invertem a ordem. Explica por que não dá para 'substituir' java.lang.String.
Em código
var cl = Main.class.getClassLoader();
while (cl != null) {
System.out.println(cl.getName());
cl = cl.getParent();
}
// app, platform (o bootstrap é null)Exemplos
Pela delegação ao pai, a classe do JDK sempre vence a sua cópia.
O plugin precisa inverter a delegação para usar a própria versão da lib.
Cuidado
Nem todo loader segue a regra: web containers como o Tomcat consultam primeiro as classes da própria aplicação, o que causa conflitos de versão sutis.
Sinônimos
parent delegation