Tôi muốn khởi tạo một thể hiện toàn cục của một lớp trước khi máy chủ Tomcat của tôi hoàn tất việc khởi động và bắt đầu cung cấp các servlet của tôi. Nếu dịch vụ này bằng cách nào đó thất bại khởi tạo, tôi muốn toàn bộ chuỗi khởi động thất bại (hoặc càng gần càng tốt, nó sẽ là vô nghĩa cho máy chủ để chạy khác). Cách tốt nhất tôi có thể thực hiện việc này là gì?Có phương tiện thực thi mã trong khi khởi động Apache Tomcat 6.x để thực hiện các thường trình khởi tạo, v.v. không?
Trả lời
Mỗi ứng dụng web có ServletContext được liên kết với nó. Đối tượng ServletContext được tạo khi ứng dụng được khởi động và bị hủy khi ứng dụng bị tắt. ServletContext có phạm vi toàn cầu và tương tự như một biến toàn cầu trong một ứng dụng.
http://www.javabeat.net/tips/178-servletcontextlistener-example.html
hoàn toàn giải thích ở đây
Một điều bạn có thể làm portably là để thực hiện một servlet mà khởi tất cả mọi thứ bạn cần trong init của nó() phương pháp (và có thể gọi System.exit() nếu nó không thành công, tôi không biết nếu bạn có quyền để làm điều này trong Tomcat). Sau đó, bạn sẽ tải nó bằng cách sử dụng <load-on-startup>
trong web.xml
để chỉ định thứ tự khởi tạo.
Không phải là một giải pháp tốt. Tất cả các bộ lọc được khởi tạo trước tất cả các servlet. Vì vậy, các bộ lọc sẽ được khởi tạo trước khi khởi tạo nếu lớp trong câu hỏi. –
- 1. ruby: mô-đun có thể thực thi mã khởi tạo tự động không?
- 2. VSIX: thực thi mã khi khởi động VS
- 3. Phương thức thực thi khi khởi động vào mùa xuân
- 4. Làm cách nào để tôi có thể thực hiện JSP khi biên dịch Tomcat khi khởi động?
- 5. Chỉ định JRE/JDK khi khởi động Apache Tomcat 7
- 6. Tích hợp tomcat và lịch trình Quartz khi khởi động
- 7. Cách khởi động lại tomcat 6 trong ubuntu
- 8. Hành khách/mod_rails không khởi tạo được trong Fedora 12 khi khởi động Apache
- 9. Có thực hành tốt để khởi tạo các trường bên trong trình thu thập thực thể JPA không?
- 10. Các hoạt động đầu tiên mà hạt nhân Linux thực thi khi khởi động là gì?
- 11. Khởi tạo tĩnh có thực hành lập trình tốt không?
- 12. Thực hiện kiểm tra trước khi khởi tạo danh sách
- 13. mvn tomcat: chạy không khởi động Tomcat
- 14. Phương ngữ Lisp có hoạt động với Apache Tomcat không?
- 15. Thực hiện khởi tạo dài trong Dịch vụ Windows
- 16. Truy vấn Echo trước khi thực thi và không được thực hiện trong trình mã hóa Bản ghi Hoạt động
- 17. Apache không khởi động trong XAMPP
- 18. Có thể khởi chạy một tập lệnh php khi khởi động apache không?
- 19. Tại sao C++ thực thi hành vi đó trong quá trình khởi tạo chéo?
- 20. Khởi chạy trình duyệt web Sau khi khởi động Tomcat trong Eclipse
- 21. Lớp lưới phương tiện truyền thông có đi từ trình khởi động Twitter không?
- 22. cải thiện thời gian khởi động của MATLAB thực thi
- 23. Máy chủ Tomcat sẽ không khởi động trong nhật thực do servlet
- 24. Khởi động Mac OSX launchctl khởi chạy tiến trình root khi khởi động
- 25. Khởi động tomcat lúc khởi động Windows 7?
- 26. Cách thực hiện trên mã khởi động trong scala Play! ứng dụng khung công tác?
- 27. Thực thi một chức năng trên ứng dụng khởi động vòng/compjure sau khi triển khai
- 28. Khởi chạy thực thi với NSTask - Sự cố Sandboxing?
- 29. Không thể khởi động Tomcat 7.0 trong Eclipse Indigo
- 30. Khởi tạo Trình tải trong Hoạt động
Đó là những gì tôi cần. Cảm ơn sự giúp đỡ nhanh chóng và súc tích! – NBJack
bạn có thể đánh dấu câu trả lời là được chấp nhận không? nó sẽ hỗ trợ trong việc đưa những người khác trả lời khi bạn yêu cầu –