¿Utilizar el directorio "respaldado" de Tomcat para el jar de implementación JDBC?

¿Utilizar el directorio "respaldado" de Tomcat para el jar de implementación JDBC?

Nuestro proveedor recomienda colocar el jar MySQL JDBC en el directorio "$CATALINA_HOME/endorsed" de Tomcat 6.

No me queda claro cuál es el propósito de esa recomendación.

ElCómo realizar el cargador de clasespara Tomcat 6 establece lo siguiente sobre el mecanismo "respaldado":

Java admite un mecanismo llamado "Mecanismo de anulación de estándares respaldados" para permitir el reemplazo de API creadas fuera del JCP (es decir, DOM y SAX del W3C). También se puede utilizar para actualizar la implementación del analizador XML. Para más información, ver: http://docs.oracle.com/javase/1.5.0/docs/guide/standards/index.html.

Tomcat utiliza este mecanismo al incluir la configuración de propiedad del sistema -Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS en la línea de comando que inicia el contenedor. El valor predeterminado de esta opción es $CATALINA_HOME/respaldado. Este directorio respaldado no se crea de forma predeterminada.

Por lo tanto, el directorio "$CATALINA_HOME/endorsed", si se crea y se activa en la línea de comando, se puede utilizar para anular las implementaciones de API que vienen con el JDK. Pero el JDK no viene con una implementación predeterminada para JDBC.

Si uno quisiera cargar la implementación JDBC de MySQL en un cargador de clases "superior a un cargador de clases de aplicación web", en este caso, el cargador de clases "común":

Jerarquía del cargador de clases Tomcat 6

...uno lo pondría en "$CATALINA_HOME/lib" o "$CATALINA_BASE/lib" como se describe en el Classloader Howto.

¿Mi proveedor recomienda malas prácticas?

Nota personal

En Tomcat 5 elJerarquía del cargador de clasesfue el siguiente:

Jerarquía del cargador de clases Tomcat 5

¡Gracias a Dios por las simplificaciones!

Respuesta1

Sí lo es.

El propósito de esa recomendación es hacer que el JAR esté disponible en todo el servidor y tal vez se cargue antes que todo en el directorio común, porque la jerarquía presentada también dicta qué se carga primero.

información relacionada