Tôi đang xây dựng một ứng dụng web tương đối đơn giản, nơi servlet chính triển khai giao diện ServletContextListener
để xác định xem ngữ cảnh đã được bắt đầu hay chưa. Tôi đã triển khai các phương thức contextInitialized
, contextDestroyed
, init
và destroy
(cả hai init
và destroy
gọi super
trên lớp cơ sở). Tôi hiện đang triển khai không có chức năng thực sự nào khác ngoài việc tôi đã khởi tạo log4j trong phương thức contextInitialized
nơi tôi tải tệp log4j.properties
.Tomcat không tắt trong Eclipse
Khi tôi khởi động và dừng máy chủ Tomcat từ bên trong Eclipse, mọi thứ được gọi theo thứ tự đúng (tôi đang sử dụng một số System.out.println
để kiểm tra điều này) nhưng sau khoảng 10 giây dừng máy chủ với cửa sổ bật lên Eclipse nêu rõ các điều sau:
Máy chủ Tomcat v6.0 Máy chủ tại localhost không phản hồi. Bạn có muốn chấm dứt máy chủ này không? Nhấp OK để chấm dứt máy chủ hoặc nhấp vào Hủy để tiếp tục chờ.
này được những gì đang in trong giao diện điều khiển Eclipse của tôi khi tôi dừng máy chủ:
04/01/2010 7:39:13 PM org.apache.catalina.core.StandardService dừng
INFO : dịch vụ Dừng Catalina
contextDestroyed
04/01/2010 19:39:13 org.apache.coyote.http11.Http11Protocol phá hủy
INFO: Dừng Coyote hTTP/1.1 trên http-8080
Và sau thông báo INFO
cuối cùng, nó chỉ treo ở đó cho đến khi cửa sổ bật lên xuất hiện. Nếu tôi chọn chờ, nhấn Cancel, Eclipse sẽ không sử dụng được và tôi phải giết quá trình Eclipse từ một thiết bị đầu cuối.
Mọi thông tin đầu vào về cách giải quyết vấn đề này sẽ được đánh giá rất nhiều.
UPDATE:
vấn đề này được gây ra bởi một sợi phi-daemon mà tôi bắt đầu trong phương pháp init
tôi (quên đề cập đến :) đó. Vấn đề đã được giải quyết bằng cách ngăn chặn một cách rõ ràng luồng với phương thức stop
, mặc dù phương thức đó dường như không còn được dùng nữa.
Tôi thực sự là người đầu tiên sử dụng thẻ 'servlet'?!? – Luke
'servlets' là thẻ phổ biến hơn, có vẻ như. :) – ZoogieZork
Tôi nghĩ rằng điều này xảy ra không chỉ trong nhật thực, nhưng nói chung. Theo như tôi nhớ lại đó là một vấn đề với nguồn tài nguyên log4j, google với ý nghĩ đó. – Bozho