Edité el archivo "server.xml" en la conf
carpeta de Tomcat 8 . Agregué una nueva Host
etiqueta para un nuevo sitio web.
¿Debo reiniciar el servidor Tomcat?
¿Puedo hacer que Tomcat analice y aplique el recién editado server.xml
?
configuration
tomcat
Albahaca Bourque
fuente
fuente
<Host>
, no<Context>
.server.xml
se analiza una vez al inicio. No se puede volver a cargar sin reiniciar.Respuestas:
Comenzaría diciendo que la pregunta no está hecha correctamente, ya que es muy posible editar el archivo sin reiniciar Tomcat, pero el proceso en ejecución ignora los cambios.
La verdadera pregunta sería cómo aplicar los cambios
server.xml
sin reiniciar Tomcat.Recopilando información del proceso de inicio y las páginas del cargador de clases en la documentación en línea de Tomcat, es posible entender esto con más detalle.
Más específicamente, se describe en serverStartup.txt y el diagrama UML del proceso de inicio y las partes relevantes se pueden resumir de la siguiente manera:
Esto sucede después de la creación del cargador de clases Bootstrap del motor servlet (Catalina).
Con esta información, ahora está claro cuando en el proceso de inicio
server.xml
se analiza el archivo, pero en realidad no responde a la pregunta de por qué es necesario reiniciar Tomcat para aplicar cambios a este archivo.La respuesta es que alguna parte de ella puede ser modificado dinámicamente en tiempo de ejecución utilizando JMX . Para que esto sea posible, se ha tenido que registrar el MBean apropiado (paso b6 anterior) y también debe aceptar las operaciones SET (algunos MBeans solo tienen una interfaz GET).
En su caso específico, no hay forma de crear y registrar un nuevo Host en tiempo de ejecución porque no hay ninguna disposición para ello, y esta es la razón por la que debe reiniciar el proceso de Tomcat para que el cargador de clases Bootstrap instanciar ese objeto y registrarlo con Agente JMX
Posteriormente, es posible modificar ese host desde un cliente JMX como el
jconsole
que viene incluido con cualquier JDK.Conéctese
jconsole
a un Tomcat habilitado para JMX y explore el MBean del host para verificar todos los atributos disponibles:y verifique todas las operaciones disponibles (una de ellas se muestra a continuación como ejemplo):
fuente
No. Se requiere reinicio.
La página de documentos de Tomcat para
<Context>
menciones:fuente
we’re talking about <Host>, not <Context>.
-1 lo siento, es raro que haga esto, pero allí tengo que ...