`
hz_chenwenbiao
  • 浏览: 1007900 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

BundleContext的作用

    博客分类:
  • OSGI
阅读更多

通过实现BundleActivator接口和start和stop方法,在特定方法start和stop方法的标记中,你将注意到我们传递了一个参数BundleContext。在指导的这个部分中,我们将研究下 BundleContext并且我们能用它来做什么。

BundleContext是一个OSGi框架传递给我们的Bundle的一个魔力入场券。当代码需要在任何时候与框架交互时,你将用到BundleContext。事实上这是用OSGi API交互的唯一方法,并且框架在Bundle启动的时候将这些入场券发通过它们的BundleActivator发给每一个Bundle。

分享到:
评论

相关推荐

    OSGi传说beta1.1.pdf

    public void start(BundleContext bundleContext) throws Exception { this.context = bundleContext; context.registerService(MyService.class.getName(), new MyServiceImpl(), null); } @Override public...

    Getting Started with OSGi_ Part2

    1. `BundleContext`的作用和重要性:`BundleContext`为bundle提供了一种与OSGi框架进行交互的方式,它是获取其他bundle引用、服务和注册服务的入口点。它是实现OSGi应用动态性和模块化的核心概念。 2. 编程方式与...

    konpflerfish konpflerfish tutorial

    public void start(BundleContext context) throws Exception { System.out.println("MyFirstBundle started"); } public void stop(BundleContext context) throws Exception { System.out.println(...

    osgi实例(服务注册、引用、跟踪)

    通过`BundleContext.getServiceReference()`或`BundleContext.getServiceReferences()`方法,组件可以获取到服务引用。然后,通过`BundleContext.getService(ServiceReference)`方法,组件可以获取到服务的实例进行...

    SpringDM笔记13-OSGi服务注册与引用

    1. **查找服务**:通过`BundleContext.getServiceReferences()`或`ServiceTracker`等方法获取服务引用。 2. **获取服务**:使用`BundleContext.getService()`或`ServiceTracker.getService()`获取服务实例。 3. **...

    osgi-jetty-9.3.10环境配置-注册Servlet工程示例

    public void start(BundleContext context) throws Exception { OSGiWebAppContext webApp = new OSGiWebAppContext(); webApp.setContextPath("/"); webApp.setWar("path/to/your/webapp"); webApp.addServlet...

    osgi生命周期

    - BundleContext接口为bundle提供了在框架中的执行上下文,通过它可以进行与OSGi框架的交互。 - Bundle接口在逻辑上表示了一个bundle,它是OSGi环境中一个物理bundle对应的一个对象。该对象包含了bundle的基本信息...

    spring-dm-reference

    - **访问 BundleContext**: 介绍如何在 Bundle 中访问 BundleContext。 - **ApplicationContext 销毁**: 指导如何销毁 ApplicationContext。 - **停止 Extender Bundle**: 说明如何安全地停止 Extender Bundle。 ##...

    OSGi常用服务发布和获取方式总结

    1. **ServiceRegistration**: 当一个模块想要提供服务时,它会创建一个实现了所需接口的类,并使用`BundleContext`的`registerService()`方法来注册该服务。`ServiceRegistration`对象返回,可用于控制服务的生命...

    servicemix-core-3.3.2-javadoc

    2. **接口与类**:Javadoc文档列出了所有公开的接口和类,如`ServiceReference`表示服务引用,`BundleContext`代表了OSGi容器的上下文,`Component`是服务组件的基类。每个接口和类都详细描述了其功能、构造函数、...

    OSGI的servlet配置和简单实例

    public void start(BundleContext context) { Dictionary, Object> props = new Hashtable(); props.put(ServletConstants.SERVLET_NAME, "MyServlet"); context.registerService(Servlet.class, new MyServlet...

    osgi_programming

    在源代码中,你会看到ServiceRegistration接口的使用,以及使用BundleContext的getServiceReferences()方法。 7. **安全性和权限管理**: OSGi提供了细粒度的权限控制,允许对bundle的操作进行限制。源代码可能...

    OSGI.NET开放工厂使用示例.zip

    当bundle启动时,你可以在`Activate`方法中使用`BundleContext`的`RegisterService`方法注册服务实现。 4. **服务消费**:其他bundle可以通过查询ServiceRegistry获取并使用服务。这通常在bundle的`Deactivate`方法...

    OSGI 注册式服务

    4. **发现和使用服务**:在服务消费者中,使用`BundleContext`的`getServiceReferences()`或`getService()`方法查找并获取服务。获取到服务后,可以通过接口调用其方法。 **源码分析** 压缩包中的"OSGI 注册式服务...

    OSGi入门篇:生命周期层

    BundleContext提供了与OSGi框架交互的执行时上下文环境,它用于访问框架提供的各种服务。而Bundle接口则代表了OSGi框架中的一个逻辑bundle。 6. 动态性与灵活性:OSGi框架的一个核心优势是其模块的动态性。开发者...

    OSGi崁入Servlet的配置步驟

    首先获取`ServiceReference<Servlet>`,然后调用`bundleContext.registerService(Servlet.class.getName(), servletInstance, null)`进行注册。这样,OSGi容器就能识别你的Servlet了。 6. **配置HTTP服务** OSGi...

    OSGi入门篇:服务层

    - 查找服务:其他bundle可以通过BundleContext接口的getService方法,根据服务接口查找并获取服务实例。 - 绑定服务:一旦找到服务,bundle通常会保持对服务实例的引用,并在需要时调用服务接口中定义的方法。 3. ...

    Equinox OSGi应用嵌入Jersey框架搭建REST服务

    public void start(BundleContext context) throws Exception { WebContainer webContainer = (WebContainer) context.getService(context.getServiceReference(WebContainer.class.getName())); ServletHolder ...

Global site tag (gtag.js) - Google Analytics