在另一个Java标准应用程序中使用Active状态OSGI Bundle

时间:2013-07-14 21:12:56

标签: java eclipse jar eclipse-plugin osgi

我是OSGI的新手,我刚刚修改了实施主机和消费者服务包并检查它们是如何工作的.Bundles现在处于活动状态。但是我有另一个应用程序不是OSGI类型的应用程序。它是一个标准Java Application.Now我的困惑是,

  1. 我们如何在这个Java项目中引用这些OSGI包(我正在使用 Eclipse.Can我可以参考普通Jar文件吗?)。
  2. 如何在Host和Consumer服务时调用服务方法 活跃吗?
  3. 我可以了解到,通常可以通过获取引用来在Activator的Start方法中访问服务。但是在服务成功启动后,Start事件不会再次触发。 那么这次我们如何在bundle处于Active状态时显式调用Services?当我们创建OSGI Project时,Eclipse会自动创建以下静态引用和静态getContext()方法。我应该使用这个静态getContext()来实现我的目标?

    Eclipse自动创建代码

    private static BundleContext context;
    
    static BundleContext getContext() 
    {   
        return context;
    }
    
    public void start(BundleContext bundleContext) throws Exception 
    {
        Activator.context = bundleContext;
    }
    

0 个答案:

没有答案