Наш продавець рекомендує розмістити банку MySQL JDBC в каталог Tomcat 6 "$ CATALINA_HOME / затверджений".
Мені незрозуміло, яка мета цієї рекомендації.
Завантажувач класів Howto для Tomcat 6 штатів наступне про механізм «схваленого»:
Java підтримує механізм, який називається "Механізм переопрацювання затверджених стандартів", що дозволяє замінити API, створені за межами JCP (тобто DOM і SAX від W3C). Він також може бути використаний для оновлення реалізації аналізатора XML. Для отримання додаткової інформації див: http://docs.oracle.com/javase/1.5.0/docs/guide/standards/index.html .
Tomcat використовує цей механізм, включаючи в системний параметр -Djava.endorsed.dirs = $ JAVA_ENDORSED_DIRS командний рядок, який запускає контейнер. Типовим значенням цього параметра є $ CATALINA_HOME / схвалено. Цей затверджений каталог не створений за замовчуванням.
Таким чином, каталог "$ CATALINA_HOME / затверджений", якщо він створений і якщо його активовано в командному рядку, може використовуватися для переосмислення реалізацій API, що поставляються з JDK. Але JDK не поставляється з реалізацією за замовчуванням для JDBC.
Якщо хтось хотів завантажити реалізацію MySQL JDBC у завантажувач класів "вище, ніж завантажувач класів webapp", у цьому випадку "загальний" завантажувач класів:
... можна поставити його в "$ CATALINA_HOME / lib" або "$ CATALINA_BASE / lib", як описано в Howto Classloader Howto.
Чи рекомендує мій продавець погані практики?
Примітка до себе
У Tomcat 5 ієрархія завантажувачів класів була такою:
Слава Богу за спрощення!