`
killko
  • 浏览: 104707 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
Group-logo
Servicemix&Fu...
浏览量:0
社区版块
存档分类
最新评论

OSGI Blueprint入门之一

阅读更多
    Blueprint是OSGI的一个规范,它来源于spring dm.目前主要有aries和gemini两套实现,本文以aries的实现为基础。大致来说Blueprint是一个OSGI的IOC规范。对于熟悉spring的朋友来说,应该会十分容易上手。

    Blueprint也是以xml文档来构建应用,但它也有采用Annotation的方式,我们在此只介绍xml的方式。

    在Bundle里,这个xml默认的位置在OSGI-INF/blueprint下,也可以在manifest.mf里指定其它位置上的xml文档。

    当一个包含blueprint xml文档的bundle install并resolved,并且active后,Aries blueprint container就会开始解析这个文档。

    在处理这些xml文档的过程中,bundle还会有个blueprint的状态,区别于bundle的状态。这些状态包括Graceperiod,created,fail。其中created就是blueprint container已经解析完文档,并且文档中mandatory的依赖都得到满足了,这时blueprint的应用已经组装完毕。而Graceperiod则是应用正在组装中。fail是当blueprint无法解析xml文档或者是mandatory的依赖在超时时间内未能获得满足。

    在spring的应用中,通常生成或组装的是bean或者bean工厂。而在Blueprint里,还可以发布和组装OSGI service。而OSGI service的动态性也要求Blueprint container的组装过程是动态的,这方面,我们在后续的blog里再详细描述。
   
2
1
分享到:
评论

相关推荐

    osgi gemini blueprint环境

    Gemini Blueprint是OSGi联盟企业专家组(EE Expert Group)开发的一个服务,它提供了对Spring应用上下文在OSGi环境中的支持,使得开发者可以使用Spring的声明式编程模型来编写OSGi服务。 在描述中提到的博文链接,...

    Spring OSGI 快速入门中文教程

    - **Blueprint** 和 **Declarative Services** 是两种常见的Spring OSGi服务配置方式,它们都允许在OSGi中声明性地定义Bean和服务。 3. **Spring OSGi的应用场景** - **动态性**:OSGi环境下的Spring应用能更好地...

    OSGI资料,OSGI进阶,OSGI实战,OSGI入门和整合Spring

    OSGI(Open Services Gateway Initiative)是一种开放标准的Java模块化系统,它允许开发人员将应用程序分解为一组可独立更新和管理的模块。这些模块被称为服务,它们之间通过接口进行交互,使得OSGI环境下的组件化...

    OSGI入门和整合Spring

    5. **使用Blueprint或PAX Wiring**:这两个是OSGI的XML配置模型,它们提供了在OSGI环境中声明和管理依赖的方式,可以方便地与Spring配置结合使用。 6. **打包和部署**:将所有bundle打包成jar文件,并部署到支持...

    spring-osgi 入门手册和代码

    - **Blueprint Container**:Spring OSGi 提供了一个基于 Blueprint 的容器,它是 OSGi 社区对 CDI(Contexts and Dependency Injection)的实现,类似于 Java EE 中的 CDI 容器。 - **Module Bundles**:Spring ...

    OSGi 入门+进阶+实战

    5. **Blueprint或Declarative Services**:这两种是OSGi中的服务配置方式,Blueprint更接近XML,而Declarative Services使用注解,简化了服务的声明和管理。 6. **远程服务**:OSGi Remote Services允许Bundle之间...

    Spring OSGi 入门.pdf

    **Spring OSGi 入门** Spring OSGi 是 Spring 框架与开放服务网关规范(OSGi)的结合,它为基于 Java 的应用程序提供了模块化开发的能力。OSGi 是一个动态的、模块化的运行时环境,使得开发者可以创建可热插拔的...

    精彩:OSGI入门以及提升

    相关技术文章可能深入探讨了OSGI的高级特性,例如: Blueprint Container用于在OSGI环境中实现依赖注入,它简化了服务的创建和管理;felix-configadmin服务允许动态配置bundle;还有OSGI的远程服务(Remote Services...

    OSGISpring OSGISpring

    7. **Blueprint服务**:OSGI的Blueprint规范提供了一种在OSGI环境中声明式地定义服务和依赖的XML格式,与Spring的XML配置类似,但更适合OSGI环境。 8. **冲突管理**:在OSGI环境中,多个bundle可能提供相同的服务,...

    tomcat-osgi压缩包

    在提供的压缩包文件名称“Tomcat-OSGi-QuickStart”中,"QuickStart"通常表示这是一个快速入门或示例项目,帮助用户快速理解和实践如何在Tomcat中配置和使用OSGi。这个压缩包可能包含了预配置的Tomcat服务器,示例...

    osgi相关文档、及学习资料

    OSGi(Open Services Gateway Initiative)是一种Java模块化系统,它为开发人员提供了一种管理和部署应用程序的方式,使得软件可以被分解成独立的组件,这些组件可以在运行时动态地安装、更新和卸载。这种模块化的...

    karaf 手册和入门资料

    ### Karaf 手册与入门指南 ...通过上述介绍,我们可以看到 Karaf 作为一个轻量级的 OSGi 运行时,不仅具备了丰富的功能和灵活性,还为开发者提供了强大而方便的工具集,使其成为构建复杂应用的理想平台之一。

    spring-dm-reference

    - **OSGi 4.2 Blueprint Reference Implementation (RI)**: 实现了最新的 OSGi Blueprint 规范。 - **Java 5**: 兼容 Java 5 及以上版本。 - **Spring 3.x**: 兼容 Spring 3.x 版本。 - **服务导入改进**: 增强了...

    快速入门指南 中文版 ServiceMix4

    此外,ServiceMix还支持Karaf,一个基于OSGi的轻量级容器,提供命令行接口和管理功能,使得管理和维护ServiceMix更加简便。 5. **集成与扩展** ServiceMix允许用户集成各种服务,如JMS、Web服务、数据库等。它通过...

    CAMEL核心开发指南

    - **Apache Karaf**:这是一个小型的基于OSGi的运行时环境,允许部署应用程序。 - **Apache MINA**:这是一个高性能的、基于NIO的网络框架。 4. **集成模式**: CAMEL支持多种集成模式,这些模式定义了企业应用...

    camel-manual-2.10.4.pdf

    - Apache Karaf:一个小型的基于OSGi的运行时环境,其中可以部署容器代理的应用程序。 - Apache MINA:一个高性能的NIO驱动的网络框架。 Camel的核心概念在于它的集成模式,它们是一种设计模式,可以用来指导集成...

Global site tag (gtag.js) - Google Analytics