首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OSGi简介

我们说到OSGi时,根据上下文不同,通常可能指OSGi联盟、OSGi标准或者OSGi框架。...不过现在OSGi已经不作为开放服务网关协议的缩写了,OSGi联盟官方网站的介绍中,OSGi只是作为一种技术的名称,而不是一种缩写了。...这一系列的标准由OSGi联盟维护,标准的实现通常则称为OSGi容器或者OSGi服务平台。下面我们就分别简单介绍OSGi标准、OSGi的特点、业务主流的OSGi实现与扩展和OSGi联盟。...OSGi各个版本的标准可以从osgi.org中下载。最新标准分为两个部分,OSGi Core和OSGi Enterpise。...除了提供运行环境外,Knopflerfish也提供了一套Eclipse的SDK,帮助开发者开发OSGi应用。 OSGi联盟 最后再说一说维护着OSGi标准,推动OSGi一直向前发展的OSGi联盟。

3.2K50
您找到你想要的搜索结果了吗?
是的
没有找到

OSGi 基本原理

OSGi服务平台提供在多种网络设备上无需重启的动态改变构造的功能。 为了最小化耦合度和促使这些耦合度可管理,OSGi技术提供一种面向服务的架构,它能使这些组件动态地发现对方。...OSGi的主要职责就是为了让开发者能够创建动态化、模块化的Java系统。 OSGi 框架 OSGi框架从概念上可以分为三层:模块层、生命周期层和服务层。...模块层 模块层是 OSGi 框架中最基础的部分。 OSGi 的模块化,是通过为 Jar 包添加metadata 来定义哪些类该暴露,哪些类该隐藏,其控制单元叫做 Bundle(jar 包)。...服务层 一个OSGi 服务就是注册到 OSGi 框架中的一个 Java 对象。注册的时候可以设置这个 Service 的属性。而在获取 Service的时候可以根据属性进行过滤。...参考资料 OSGi入门篇:模块层 OSGi入门篇:生命周期层 OSGi入门篇:服务层 OSGi原理与最佳实践

2.7K90

模块化服务规范——OSGI

什么是OSGI OSGi(Open Service Gateway Initiative)有双重含义。...一方面它指OSGi Alliance组织;另一方面指该组织制定的一个基于Java语言的服务(业务)规范——OSGi服务平台(Service Platform)。...OSGi原先关注于服务网关,其实可用于多个方面。现在OSGi规范已经用于从移动电话到开源的Eclipse(其中包括了与IBM的OSGi框架SMF兼容的开源版本)。...OSGi规范是由成员通过公开的程序开发,对公众免费而且没有许可证限制。但是OSGi Alliance的兼容性程序只对成员开放,目前有12个兼容的实现。...、移动应用、富互联网应用(RIA)提供了非常优秀的基础架构 OSGI的分类 主要分成以下三个部分: 1、OSGi服务平台Core规范及服务集合。

1.5K30

Poc之后,我选择放弃OSGI

Poc之后,我选择放弃OSGI TIPS: 如贵司允许重构老系统或者允许使用OSGI的第三方框架改造所带来的投入成本,并且评估之后ROI乐观,那么还是可以使用的。...Runtime Version 以下问题全部基于Equinox框架 & 使用BluePrint 整合Spring框架 OSGI org.eclipse.osgi 3.15.0v20190830-...spring3以后,好像就没有人维护osgi的版jar包了,想要使用更高版本,只能自己生成bundle....基础Spring Bean注入通过xml方式已经成功,但是目前的bundle缺失较多,最重要的为jdbc & transaction,spring 在3.2之后升级为spring-tx,而且不提供osgi...暴露rest service 利用,osgi自带的HttpService服务,再通过org.eclipse.equinox.servletbridge.BridgeServlet把服务桥接出去 关于现有的

1.3K20

灵活的类加载器OSGI

简介 OSGi中的每个模块(称为Bundle)与普通的Java类库区别并不太大,两者一般都以JAR格式进行 封装[2],并且内部存储的都是Java的Package和Class。...以上这些静态的模块化特性原本也是OSGi的核心需求之一,不过它和后来出现的Java的模块化系统互相重叠了,所以OSGi现在着重向动态模块化系统的方向发展。...说人话就是OSGI框架,可以对需要加载的类进行精细化的控制,形成一个网状结构,而不是之前的树形的结构。...在今天,通常引入OSGi的主要理由 是基于OSGi架构的程序很可能(只是很可能,并不是一定会,需要考虑热插拔后的内存管理、上下文状态维护问题等复杂因素)会实现模块级的热插拔功能,当程序升级更新或调试除错时...OSGi之所以能有上述诱人的特点,必须要归功于它灵活的类加载器架构。OSGi的Bundle类加载器 之间只有规则,没有固定的委派关系。

61530

Springboot Application 集成 OSGI 框架开发

这个过程是由上至下依次检查的,首先由最顶层的类加载器 Bootstrap ClassLoader 试图加载,如果没加载到,则把任务转交给 Extension ClassLoader 试图加载,如果也没加载到,则转交给 App...类加载器 OSGI 类加载器并不遵循 Java 的双亲委派模型,OSGi 为每个 bundle 提供一个类加载器,该加载器能够加载 bundle 内部的类和资源,bundle 之间的交互是从一个 bundle...图 1.OSGI 类加载器 ? image OSGI 框架根据 Bundle 的 MANIFEST.MF 文件中描述的数据信息进行解析处理 Bundle 间的依赖关系。...Equinox OSGI ServletBridge 实现原理及源码解析 BridgeServlet 与 OSGI 容器 Equinox 提供了 servletbridge.jar 将 OSGI framework...Spring boot 应用中嵌入 OSGI 开发和 Spring boot 应用如何与 OSGI 插件之间进行相互调用。

1.2K20

实现在windows、linux下上传ios appApp Store

我们知道发布一个app,一般是用到苹果的application loader助手上传应用,用过的都知道使用起来很繁琐,经常出错。而且只能运行在mac系统上,需要一定的硬件条件。...前段时间发现了一个上架的辅助工具Appuploader,可以实现在windows,linux或mac上,不需要应用程序加载器和mac计算机,就可以发布appapp store,试用了下,感觉不错,分享给各位开发者...Appuploader算是一个专门为IOS app上架的开发助手,可以快速,轻松地生成ios开发证书,不需要钥匙串助手; appuploader还可以批量上传屏幕截图并将ipa文件上传到Apple商店。...很方便的生成证书和配置文件的,快速的上架app,提升效率的辅助工具,现在可以免费使用,分享给大家。

45820

实现在windows、linux下上传ios appApp Store

我们知道发布一个app,一般是用到苹果的application loader助手上传应用,用过的都知道使用起来很繁琐,经常出错。而且只能运行在mac系统上,需要一定的硬件条件。...前段时间发现了一个上架的辅助工具Appuploader,可以实现在windows,linux或mac上,不需要应用程序加载器和mac计算机,就可以发布appapp store,试用了下,感觉不错,分享给各位开发者...Appuploader算是一个专门为IOS app上架的开发助手,可以快速,轻松地生成ios开发证书,不需要钥匙串助手; appuploader还可以批量上传屏幕截图并将ipa文件上传到Apple商店。...很方便的生成证书和配置文件的,快速的上架app,提升效率的辅助工具,现在可以免费使用,分享给大家。

49230

用Java的OSGi框架构建灵活模块化应用

OSGi框架的概念和特点并通过一个代码示例来演示如何使用OSGi构建一个模块化的Java应用程序。...一、OSGi框架概述OSGi是一种面向服务的模块化框架它将应用程序划分为多个独立的、可重用的模块每个模块被称为一个bundle每个bundle都有自己的生命周期、类加载器和依赖管理机制OSGi框架提供了动态部署...二、OSGi代码示例为了演示OSGi框架的使用我们将创建一个简单的示例其中包含两个模块:一个模块提供Greeting服务另一个模块使用该服务进行输出。...: com.example.osgi.demo.GreetingModule;com.example.osgi.demo.ClientModule三、运行OSGI应用程序为了运行OSGi应用程序我们需要一个...Java的OSGi框架。

29640

OSGi的模块化和动态模块的好处

关于OSGi的原理可以查看: OSGi基本原理 学习OSGi的可以查看:模块化服务规范——OSGI 所以,OSGi的组件系统究竟能给你带来什么好处呢?...9、简单 使用OSGi是非常的简单的,它不但依赖管理、配置和动态性都非常强大,而且OSGi的代码也和传统的Java代码完全相似。...因此,这些开发者可以将某个OSGi框架包括在WAR文件中,并将软件包从文件系统或通过网络装载到应用服务器中来运行。OSGi非常的灵活,这使得一个应用服务器上就可以容易地作为多个OSGi框架的宿主。...OSGi的最佳实践就是编写POJO(Plain Old Java Objects),并且由于这个原因,OSGi服务并不需要任何特殊的接口,甚至一个Java的String对象也可以充当一个OSGi服务。...如果你是在Java开发软件,OSGi技术应该是一个合乎逻辑的下一步,因为它解决了许多你可能不知道可以解决的问题。 OSGi技术的优势如此之多,如果你使用Java,那么OSGi 应该在你的工具箱中。

1.5K10
领券