2012-01-10 29 views
5

He alguna duda sobre el funcionamiento de Tomcat, que vienen a través de mi desarrollo webapp:apagado Tomcat aplicación utilizando Web desplegada en ella

  1. ¿Hay alguna manera de apagar en sí Tomcat desde la aplicación Web desplegada en ella?
  2. ¿Tomcat está ejecutando todos sus webapps/war dentro de una JVM o JVM individual o es configurable en algún archivo de configuración?
  3. ¿Es posible aumentar el tamaño del almacenamiento dinámico de Java para una aplicación web concreta desplegada dentro de tomcat?

Muchas gracias.

Respuesta

7
  1. conexión TCP abierta de algunos de servlets y enviar "APAGADO" para puerto de cierre de Tomcat (por defecto: 8005).
  2. One Tomcat utiliza una JVM para todas las aplicaciones.
  3. No. Solo para toda la JVM.

Aquí es código para el punto 1:

Socket clientSocket = new Socket("localhost", 8005); 
clientSocket.getOutputStream().write("SHUTDOWN".getBytes()); 
clientSocket.getOutputStream().close(); 
clientSocket.close(); 
+1

solamente proporcionan el comando de apagado es igual a "APAGADO" y escucha en el puerto 8005 - tanto se puede cambiar. Hay una API para recuperar ambos: 'Server server = org.apache.catalina.ServerFactory.getServer(); int port = server.getPort(); String shutdown = server.getShutdown(); ' –

+0

Por supuesto, esto debe ser cierto. Usar 'org.apache.catalina.ServerFactory' es mejor, pero debe incluir dependencias a las bibliotecas de Tomcat, p. Eclipse. –

+0

¿Y qué? Prefiero incluir los paquetes necesarios que codificar los valores del puerto por mí mismo para cada solución diferente. –

Cuestiones relacionadas