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

部署自动发现和安装Bundle的OSGI应用

阅读更多

    在之前的文章http://ferreousbox.iteye.com/admin/blogs/242636中介绍了部署和应用OSGI系统,但是文章中介绍的是手动部署和管理方式。今天介绍的主要就是自动查找Bundle和安装部署的应用,还是以Equinox为实现框架来介绍,同时也参考了Eclipse官方的http://www.eclipse.org/equinox/documents/quickstart.php介绍,有兴趣的朋友可以自行参阅该文档。

 

    首先介绍的是如何让Equinox自动发现新Bundle并部署。首先新建立一个目录demo,在该目录下建立如下文件结构:

 

demo(目录)

    |--configuration(目录)

            |--config.ini(文件)

    |--plugins(目录)

    |--org.eclipse.osgi_3.4.0.v20080605-1900.jar(文件)

    |--org.eclipse.equinox.common_3.4.0.v20080421-2006.jar(文件)

    |--org.eclipse.update.configurator_3.2.200.v20080417.jar(文件)

    |--startup.bat(文件)

 

    然后在config.ini中加入如下内容:

 

osgi.bundles=org.eclipse.equinox.common@2:start,org.eclipse.update.configurator@3:start
eclipse.ignoreApp=true
osgi.noShutdown=true

 

    在startup.bat中加入如下内容:

 

java -jar org.eclipse.osgi_3.4.0.v20080605-1900.jar -console

pause

 

    这里主要是用到了common和configurator(主要是这个)两个Bundle来自动发现和部署plugins目录下的Bundle,所以,如果有新的Bundle需要发布,只需要放到plugins目录下,然后重新启动OSGI即可。我们在config.ini文件中设置了common的启动级别为2,configurator的启动级别为3,这样,OSGI框架启动后它们将被最先启动,因为Equinox的默认启动级别为4,所以plugins目录下的所有Bundle的启动级别为4。

 

    完成上面的部署后,双击运行startup.bat文件,即可看到OSGI的命令提示符,然后我们输入ss查看所有Bundle的状态,如果plugins目录下有Bundle的话,可以看到这些Bundle的状态为RESOLVED,即表示这些Bundle已经被安装并且解析成功了,等待运行或已停止。我们可以输入sl bundleId 来查看各个Bundle的启动级别。

 

    当然,你也可以使用eclipse提供的本地运行方式来进行上面的操作:-)

4
0
分享到:
评论

相关推荐

    基于Eclipse的Equinox框架开发OSGi Bundle应用

    【标题】基于Eclipse的Equinox框架开发OSGi Bundle应用 ...通过PDE工具,开发者能够轻松地创建、管理和调试OSGi应用,进一步提升开发效率。深入理解OSGi和Equinox的原理与实践,对于构建大型复杂系统尤其有价值。

    osgi 在web容器中部署

    6. **部署OSGi应用**:通过WebConsole或Pax Web的界面,上传并安装你的OSGi应用bundle。 7. **启动和管理应用**:在Web管理界面上启动你的bundle,进行必要的配置和监控。 8. **测试和调试**:通过访问配置的URL来...

    把OSGI部署成一个可运行的例子

    OSGI(Open Services Gateway Initiative)是一种模块化系统和Java服务框架,它允许应用程序以模块化的方式构建,使得组件之间可以动态地发现、依赖管理和更新。本教程将详细讲解如何将OSGI部署为一个可运行的例子,...

    WebSphere基于OSGi的应用部署和SCA集成.doc

    OSGi应用的模块化特性使得企业应用程序能够被分解为独立的Bundle,每个Bundle代表一个可部署的单元。这些Bundle可以在WebSphere的应用服务器中单独安装、升级或卸载,而不会影响到其他Bundle。这种灵活性允许开发...

    浅析OSGI的bundle依赖

    OSGI(Open Services Gateway Initiative)是一种模块化系统和Java服务框架,它允许在单个JVM上动态地发现、加载、卸载和管理软件模块,称为bundle。在OSGI环境中,每个bundle都是一个独立的代码单元,具有自己的类...

    基于OSGi和Spring开发Web应用教程

    这样,Spring-DM会自动管理这些服务的生命周期,并使得其他bundle可以通过OSGi服务发现机制找到并使用它们。 总的来说,基于OSGi和Spring的Web应用开发结合了两者的优点:OSGi提供了模块化和动态部署的能力,而...

    tomcat嵌入OSGI容器

    标题中的“tomcat嵌入OSGI容器”是指在Apache Tomcat服务器中集成OSGI(Open Service Gateway Initiative...通过这种方式,开发者可以更方便地管理和部署应用程序,同时也能享受到OSGI带来的动态服务发现和管理的好处。

    spring osgi相关资源

    这个文件包含了Spring DM Server,它是SpringSource公司提供的一个OSGi运行时环境,用于运行和管理Spring OSGi应用。服务器提供了以下功能: 1. 支持多种OSGi标准:包括R4.2和R4.3规范。 2. 集成了管理工具:允许...

    OSGi Web示例工程

    1. **OSGi容器**:这是运行OSGi应用的基础,它负责管理模块(也称为bundle),提供依赖注入,并处理模块间的生命周期。 2. **Bundle**:OSGi中的基本单位,类似Java的JAR文件,但包含元数据以描述其依赖和其他元...

    osgi在web容器中部署的例子

    OSGi(Open Services Gateway Initiative)是一种模块化系统和Java服务框架,它允许开发人员将应用程序分解为一组可独立更新和管理的小型、独立组件,称为bundle。这些bundle之间可以通过服务接口进行交互,使得代码...

    Jar转换为Bundle工具

    bnd是OSGI开发的一个强大工具,它提供了一整套用于构建、管理和打包OSGI应用的解决方案。bnd不仅可以帮助开发者创建和管理bundle的MANIFEST.MF文件,还支持自动依赖解析、版本控制、类路径管理等功能。通过使用bnd,...

    基于osgi构建小例子

    通过这个例子,你可以了解到如何在实际项目中设置和运行一个简单的OSGi应用。 1. **创建OSGi Bundle** 在OSGi中,最小的部署单元被称为Bundle,它类似于Java中的JAR文件,但包含额外的元数据来描述其依赖和其他...

    osgi介绍osgi介绍

    在OSGi中,应用程序被分解为称为“bundle”的独立单元,这些bundle可以相互依赖并独立地加载、启动、更新和卸载,而无需重启整个系统。OSGi的核心理念是促进组件化开发,提高软件的可维护性、可扩展性和可重用性。 ...

    osgi&spring规范

    “工具”则可能涉及到使用如Eclipse PDE(Plug-in Development Environment)、Bndtools或Apache Felix等工具来开发和调试OSGi应用,以及Spring Tool Suite(STS)来管理和配置Spring应用。 **文档资源** 提到的...

    OSGI原理和实现

    OSGi(Open Service Gateway Initiative)是一种Java平台上的模块化系统和动态模块化能力的实现,它为开发复杂的应用程序提供了一种灵活的框架。OSGi允许将应用程序划分为小的、独立的模块,这些模块被称为bundles。...

    OSGI应用程序

    然后,将你的bundle安装到框架中,框架会自动发现并加载Web服务。可以通过HTTP请求访问运行在OSGI环境中的Web应用。 9. **调试和日志**:在OSGI环境中,调试和日志处理也需要特别注意。你可以使用OSGI的日志服务来...

    Felix_OSGi实作

    在开发使用Felix的OSGi应用时,首先需要准备开发环境,这通常涉及到JDK、Maven和Felix这三个主要部分。JDK是Java Development Kit,是Java应用开发的必备工具。Maven则是项目管理工具,用于项目的构建、报告和文档...

    spring-osgi 入门手册和代码

    - **部署和运行**:将 bundle 导入 OSGi 容器,容器会自动处理组件的生命周期和依赖注入。 - **调试和监控**:使用 OSGi 控制台或日志工具进行应用的调试和监控。 4. **最佳实践** - **模块设计**:合理划分模块...

    OSGI

    OSGI的核心在于其强大的模块化机制,它为开发、部署和管理Java应用程序提供了前所未有的灵活性。 在OSGI中,每个bundle都包含一些Java类,以及描述这些类的元数据。这些元数据定义了bundle的依赖关系,使得系统可以...

Global site tag (gtag.js) - Google Analytics