Nếu bạn muốn dừng Tomcat vì webapp của bạn không triển khai được, tôi cho rằng bạn không triển khai ứng dụng khác cho tomcat. Trong trường hợp đó, tại sao bạn không xây dựng ứng dụng này như một ứng dụng web độc lập với Tomcat/Jetty được nhúng? Bằng cách này, miễn là ứng dụng web của bạn không khởi động đúng cách, máy chủ nhúng cũng sẽ tắt.
Với tôi, có vẻ như bạn đang tập trung vào ServletContextListener
để giải quyết vấn đề không phải là nội dung của ServletContextListener
.
Không sử dụng System.exit()
vì nó sẽ giết máy chủ có thể tôi chạy các ứng dụng được triển khai khác. Nếu nó là ok vì bạn biết sẽ không bao giờ có các ứng dụng khác (và bạn không muốn), sau đó tạo một webapp độc lập. Thực tiễn không tốt này được liệt kê trong CWE như một điểm yếu tiềm năng: CWE-382
Chỉ cần gợi ý: khởi động mùa xuân tạo điều kiện cho nỗ lực xây dựng một ứng dụng web độc lập với máy chủ nhúng. Xem hướng dẫn này: https://spring.io/guides/gs/spring-boot/
tốt bài báo giải thích lý do tại sao điều này có lẽ những gì bạn đang tìm kiếm: http://www.beyondjava.net/blog/application-servers-sort-of-dead/
Nguồn
2016-08-11 20:50:48
Có ai tìm thấy bất kỳ cách nào khác hơn System.exit (1)? – Bastien
@Bastien, sử dụng SpringBoot –
@Leo không liên quan. Câu trả lời đúng cho câu hỏi sẽ là giải thích về cách SpringBoot quản lý vấn đề này. – Bastien