¿Qué pasaría si alguien escribe System.exit()
en un servlet en el que se bloquea el servidor o la aplicación?System.exit en el servlet
Respuesta
La JVM que ejecuta el contenedor de servlets se cerraría, por lo que sí.
Bueno, espero que la mayoría se ejecute con un administrador de seguridad y se configure para restringir esto. Si es así, entonces la respuesta es No. Así que la respuesta correcta es, depende de si un administrador de seguridad está en uso y la política de seguridad está configurada/restringida correctamente. –
¡Quizás! El contenedor debería haber modificado el administrador de seguridad (SecurityManager.checkExit()
) para que la llamada pueda dar como resultado un AccessControlException
. Ninguna aplicación web debería poder cerrar el servidor.
Hay una respuesta a esta pregunta ya está aquí: http://tomcat.apache.org/tomcat-5.5-doc/security-manager-howto.html
Bueno, System.exit()
terminará la JVM de ejecución actual. Por lo tanto, es probable que se active el código escrito en los contenedores de servlets 'addShutdownHook
.
System.exit() está cerrando la aplicación particular en ese navegador
No funciona de esa manera. –
No se puede porque no va a lanzar una excepción de seguridad.
Una explicación un poco más podría ayudar a los compañeros programadores a entender cómo funciona o no. – Daenarys
De https://javarevisited.blogspot.in/2014/11/dont-use-systemexit-on-java-web-application.html:
System.exit() de aplicación Java Web, que se ejecuta dentro de cualquier servidor web o servidor de aplicaciones, que a su vez es el programa Java no es una buena idea para usarlo en absoluto. ¿Por qué? porque invocar System.exit() mata a su JVM, invocando esto desde Tomcat o Jetty, no solo matará su aplicación sino que probablemente sea el servidor mismo. Esto puede ser potencialmente peligroso, si ese servidor también alberga otra aplicación crítica, que no es poco común. Según mi experiencia, las llamadas System.exit() son bastante comunes en bloques try-catch demasiado amplios en código de inicio de aplicación web que carga variables de entorno, archivos de propiedades, se conecta a MQ Series, establece conexión de base de datos, abre conexiones de socket, etc. . Esto todavía está bien, si está escribiendo un servidor basado en Java central, donde cada aplicación tiene su propia JVM, pero con la aplicación web implementada en Tomcat, JBoss, WebSphere, Weblogic o cualquier otro servidor de aplicaciones, el uso de System.exit() es grande Error. En el peor de los casos, puede ocasionar interrupciones en muchas otras aplicaciones críticas. Por otro lado, hay formas de evitar que su aplicación web se deba a un error de otra persona al habilitar Security Manager. System.exit() y Runtime.exit() pasan por el administrador de seguridad. Habilitar el administrador de seguridad captará estas llamadas y las reducirá a una excepción en lugar de cerrar toda la máquina virtual.
- 1. System.exit() en android
- 2. System.exit (0) en java
- 3. Cómo capturar el evento System.exit?
- 4. Diferencia en el sistema. exit (0), System.exit (-1), System.exit (1) en Java
- 5. Uso de System.exit (0)
- 6. System.exit (0) vs JFrame.EXIT_ON_CLOSE
- 7. Alternativas a System.exit (1)
- 8. prohíbe la llamada a System.exit
- 9. Ignorar System.exit() de otra clase
- 10. ¿Cuándo debemos llamar a System.exit en Java
- 11. diferencia entre System.exit() y killProcess()
- 12. Guice inject en el servlet
- 13. ¿Servlet es el singleton?
- 14. iniciando un nuevo hilo en el servlet
- 15. Servlet Java NIO en el archivo
- 16. Controlar el classpath en un servlet
- 17. Cómo usar el servlet en Struts2
- 18. Genere dinámicamente JFreeChart en el servlet
- 19. Cómo ejecutar servlet en el servidor tomcat
- 20. ¿Tengo que llamar explícitamente a System.exit() en una aplicación Webstart?
- 21. ¿Desde qué subproceso debería invocarse System.exit() en una aplicación Swing?
- 22. ¿Debo cerrar el servlet outputstream?
- 23. ExecutorService en Java Servlet
- 24. Spring @Autowired en Servlet
- 25. Llamando al Servlet Post desde otro Servlet
- 26. ¿Cómo obtener el contexto del servlet de ServletRequest en Servlet 2.5?
- 27. ¿Diferencia entre el mapeo de servlet/servlet y el mapeo de filtro/filtro?
- 28. Cómo configurar el tipo de contenido en el servlet
- 29. Defina el contexto del servlet en el archivo WAR
- 30. Mutual Client Authentication Obtenga el certificado en el servlet
¿Por qué no lo pruebas con tu contenedor de porciones particular y ves qué pasa? – Jesper