Tôi vừa mới bắt đầu với một ứng dụng RCP Eclipse, về cơ bản nó chỉ là một trong những mẫu "hello world" được cung cấp.Làm cách nào để có được BundleContext OSGi cho một ứng dụng RCP Eclipse?
Khi ứng dụng khởi động, tôi muốn xem các tham số dòng lệnh của mình và bắt đầu một số dịch vụ theo chúng. Tôi có thể lấy các thông số dòng lệnh trong IApplication.start:
public Object start(IApplicationContext context) {
String[] argv = (String[])
context.getArguments().get(IApplicationContext.APPLICATION_ARGS)));
}
Nhưng làm thế nào để tôi có được BundleContext, vì vậy mà tôi có thể đăng ký dịch vụ? Nó dường như không có trong IApplicationContext.
Nhưng chính phương thức 'bắt đầu' yêu cầu ngữ cảnh gói: bạn sẽ lấy nó ở đâu để nuôi' BundleActivator'? Tôi có thể lấy nó từ 'FrameworkUtil' nhưng điều đó (trong trường hợp của tôi) là' null' vì vậy ... Nếu không, bạn khai báo trình kích hoạt của bạn trong MANIFEST, vì vậy tôi nhận được một bối cảnh bó .. nhưng nó được trao cho nó như thế nào? :) – Campa
@Campa không chắc chắn: đó là cách đây hơn 6 năm và tôi không có quyền truy cập vào loại dự án đó nữa. Bạn có thể đặt một câu hỏi mới với một liên kết quay lại câu hỏi này. – VonC