Vui lòng không sử dụng System.exit (0) để tắt khung OSGi. Bạn nên làm điều đó bằng cách dừng gói với ID 0, gói Hệ thống. Bằng cách này, bạn cung cấp cho tất cả các gói một cơ hội để tắt theo cách có trật tự (ví dụ: miễn phí tài nguyên, v.v.).
Đặc tả OSGi xác định thông số sau (Đặc tả lõi, R4.x, 4.2.6 Dừng khung).
Có thể khởi động tắt máy bằng cách dừng gói hệ thống, [...] hoặc gọi phương thức dừng trên đối tượng khung.
Trong chương đó, mô tả chi tiết được đưa ra những gì sẽ xảy ra khi khung bị tắt.
Phản hồi nhóm hệ thống. đối tượng khung cũng được xác định (chương 4.6 Gói Hệ thống):
Gói hệ thống giống với đối tượng khuôn khổ khi khung được khởi chạy, nhưng việc triển khai không bắt buộc phải sử dụng cùng một đối tượng cho khuôn khổ khung và hệ thống bó. Tuy nhiên, cả hai đối tượng phải có id nhóm 0, cùng một vị trí và tên biểu tượng nhóm.
Thông số OSGi có sẵn miễn phí tại trang web của OSGi Alliance (http://www.osgi.org/Specifications/HomePage).
Cách tiêu chuẩn cho đến nay là những gì tôi mô tả trong câu trả lời của tôi. Đây là hành vi được chỉ định trong thông số OSGi, cũng trong bản phát hành tiếp theo 4.2. Bản phát hành tiếp theo (4.2.) sẽ bao gồm * Dịch vụ mức bắt đầu * tùy chọn có thể được sử dụng để kiểm soát mức bắt đầu của các gói (và khung công tác). – akr