Вопрос по java – Обязательна ли модель делегирования Java Classloader?

3

Если у меня есть пользовательский загрузчик классов, который вместо делегирования своему родителю сначала пытается выполнить поиск и загрузку самого класса, будет ли это нарушением какого-либо установленного / неустановленного правила?

Насколько я знаю, он будет заброшен, но давайте послушаем, что говорят люди :) Juan Alberto López Cavallotti
Читать все об этом наthe source, Разрешено не делегировать. Marko Topolnik

Ваш Ответ

1   ответ
4

так что я думаю, что он работает по крайней мереsome степень :) отдокументация загрузчика классов Tomcat:

As mentioned above, the web application class loader diverges from the default Java 2 delegation model (in accordance with the recommendations in the Servlet Specification, version 2.4, section 9.7.2 Web Application Classloader). When a request to load a class from the web application's WebappX class loader is processed, this class loader will look in the local repositories first, instead of delegating before looking. There are exceptions. Classes which are part of the JRE base classes cannot be overriden. For some classes (such as the XML parser components in J2SE 1.4+), the J2SE 1.4 endorsed feature can be used. Last, any JAR file that contains Servlet API classes will be explicitly ignored by the classloader — Do not include such JARs in your web application. All other class loaders in Tomcat 6 follow the usual delegation pattern.

Мне кажется, что вы должны быть очень осторожны, прежде чем сделать это, но в некоторых случаях этоcould быть полезным, если использовать осторожно. Вы должны тщательно задокументировать это (особенно, если это увидят сторонние разработчики) и убедиться, что вы включили достаточно регистрации / диагностики, чтобы помочь в устранении острых проблем.

:) Понял! Спасибо, парни!! meer

Похожие вопросы