OSGi定义

OSGi ( Open Service Gateway Initiative )有双重含义。一方面它指 OSGi Alliance 组织;另一方面指该组织制定的一个基于 Java 语言的服务(业务)规范—— OSGi 服务平台( Service Platform )。

OSGi Alliance 是一个由 Sun Microsystems 、 IBM 、爱立信等于 1999 年 3 月成立的开放的标准化组织,最初名为 Connected Alliance 。该组织及其标准原本主要目的在于使服务提供商通过住宅网关,为各种家庭智能设备提供各种服务。目前该平台逐渐成为一个为室内、交通工具、移动电话和其他环境下的所有类型的网络设备的应用程序和服务进行传递和远程管理的开放式服务平台。

该规范和核心部分是一个框架 ,其中定义了应用程序的生命周期模式和服务注册。基于这个框架定义了大量的 OSGi 服务: 日志、配置管理、偏好, HTTP (运行 servlet )、 XML 分析、设备访问、软件包管理、许可管理、星级、用户管理、 IO 连接、连线管理、 Jini 和 UPnP 。

这个框架实现了一个优雅、完整和动态的组件模型。应用程序(称为 bundle )无需重新引导可以被远程安装、启动、升级和卸载(其中 Java 包/类的管理被详细定义)。 API 中还定义了运行远程下载管理政策的生命周期管理。服务注册允许 bundles 去检测新服务和取消的服务,然后相应配合。

OSGi 原先关注于服务网关,其实可用于多个方面。现在 OSGi 规范已经用于从移动电话到开源的 Eclipse (其中包括了与 IBM 的 OSGi 框架 SMF 兼容的开源版本)。 OSGi 服务平台的应用包括:服务网关、 汽车、移动电话、 工业自动化、建筑物自动化、 PDA 网格计算、娱乐(如 iPronto )、和 IDE 。

7、OSGi 开发:从基础示例到拍卖系统应用 本文介绍了OSGi开发的基础知识,并通过一个简单的Printer服务示例讲解了服务的注册、调用和生命周期管理。同时,深入分析了如何利用OSGi的模块化特性设计一个可扩展的拍卖系统,包括系统需求、模块划分、核心接口定义以及服务交互的实现要点。最后总结了OSGi开发的最佳实践和拍卖系统的可扩展性设计。 阅读详情

相关推荐

Equinox OSGi:开源OSGi服务平台的深入探索

本文还有配套的精品资源,点击获取 简介:Equinox OSGi是Eclipse基金会的开源项目,实现OSGi规范的服务平台。OSGi是一种Java模块化系统,使应用程序能够分解为可管理、可升级的服务组件。Equinox作为OSGi的实现之一,提供动态模块加载、服务注册发现等特性,通过TOAST目标定义支持动态安装和卸载服务,减少代码硬耦合,促进代码的重用性、可维护性和可扩...

weixin_36178216的博客 1041

osgi 学习系列(三)自定义osgi控制台命令

为了后面demo的结果显示需要先说下自定义osgi控制台命令,自定义命令的类必须实现org.eclipse.osgi.framework.console.CommandProvider接口 该接口中只有一个方法public String getHelp()用于在help方法中添加我们自定义命令的描述 自定义命令也很简单,只要写一个以下划线+命令的方法即可,比如我想自定义一个say命令 p

ferry_passion 1万+

error C2039: “int_least8_t”: 不是“`global namespace'”的成员

在向H.265的测试软件HM16.0中配置boost的时候,发现 include <boost/cstdint.hpp>的时候总是会报错:错误 11 error C2039: “int_fast16_t”: 不是“`global namespace'”的成员 D:\Program Files\Caffe\VSContact\boost_1_58_0\boost\cstdint.hpp ...

flyerene的博客 1万+

AEM中创建自定义OSGi配置

目录创建自定义OSGi配置示例 我们都知道AEM在Apache Felix 上工作,Apache Felix是OSGi的实现。OSGi提供了一种管理包和配置的方法。 您可以在 http://localhost:4502/system/console/configMgr 找到所有现成的OSGi配置 。除了开箱即用的配置,我们还可以创建自定义配置。在本课中,我们将创建一个开箱即用的自定义配置,该配...

KevinLiu 653

Windows11开机必看:3种方法跳过联网激活(含最新OOBE命令)

本文详细介绍了Windows11新机开箱时绕过联网激活的三种实用方法,包括任务管理器终止进程法、命令行强制终止法和最新的OOBE\BYPASSNRO命令法。特别推荐使用微软官方预留的OOBE命令,操作简单且无副作用,帮助用户快速完成系统设置。

weixin_28366353的博客 1626

MT6816磁编码器在无人机电调中的实战应用:从选型到调试全记录

本文详细介绍了MT6816磁编码器在无人机电调系统中的实战应用,涵盖选型、硬件集成、软件配置到飞行测试的全流程。通过对比霍尔传感器和光电编码器,突出MT6816在角度分辨率、安装公差和抗振动能力等方面的优势,为无人机动力系统提供高精度控制解决方案。

pandas7gardener的博客 234

OSGI中自定义command(2)

OSGI中自定义command(2)前文在上一篇博文中,我们讲述了什么是OSGI中的command,同时写了一个简单的command,这个command实现了org.apache.felix.gogo.commands.Action这个接口,同样可以实现相同功能的还有 org.apache.karaf.shell.console.OsgiCommandSupport这一个抽象类,但是在本程序中,这

u012734441的专栏 5868

OBD诊断协议:OBDⅡ (SAE J1979) 和 OBDonUDS (SAE J1979-2) 和ZEV OBD技术架构的详细对比

摘要:文章对比了2025年最新OBD技术标准(SAEJ1979系列)的三大架构:传统OBD-II(已淘汰)、OBDonUDS(燃油/混动车)和ZEVOBD(新能源车)。核心发现:1)OBDonUDS与ZEVOBD共享UDS协议栈和DoIP通信标准,仅应用层数据(DID/DTC)不同;2)物理层统一为CAN+以太网,支持远程诊断和OTA;3)诊断工具需同时兼容J1979-2/3数据库。技术演进呈现"协议统一化、数据专用化"趋势,2027年后所有新车将强制采用新标准。

m0_56482679的博客 2388

osgi 学习系列--自定义osgi控制台命令say,iamcommand两个自定义命令

为了后面demo的结果显示需要先说下自定义osgi控制台命令,自定义命令的类必须实现org.eclipse.osgi.framework.console.CommandProvider接口 该接口中只有一个方法public String getHelp()用于在help方法中添加我们自定义命令的描述 自定义命令也很简单,只要写一个以下划线+命令的方法即可,比如我想自定义一个say命令

有 prepare , No out 1587

WSOLA原理及matlab仿真

WSOLA原理 对于 OLA 算法来说,常常无法保持原信号中的周期性结构,在帧裁剪的过程中,不能保证每一个帧都能覆盖完整周期并保证其相位对齐,会产生相位跳跃失真。 为保证**基频不变**,就要使用 WSOLA 算法。 WSOLA 并不直接在 Ha 处找一帧进行直接拼接,而是在一个区间内寻找与理想帧最接近的一帧进行叠加。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/8a234f4fde104fc69a9f3ddb7bcf3014.png?x-oss-process=ima

ManiacLook的博客 3214

杰理接入第三方升级协议OTA教程

本教程介绍了使用dual_bank_updata_api.h接口接入第三方协议进行固件升级的方法。主要内容包括:INI配置要求(需启用双备份并强制4K对齐)、7个核心API接口功能说明及参数详解(初始化、空间检查、数据写入、校验等)、标准升级流程步骤(初始化→检查→写入→校验→引导→清理)。特别强调了4K对齐配置的重要性以避免数据丢失,并提供了被动升级流程图。该方案支持用户自定义协议接入,需严格按照流程调用接口完成升级。

qq_42014563的博客 1429

# OSGI中使用自定义的command

OSGI中command的应用前文在上一篇博文中,我们讲解了osgi中的blueprint,但并没有对此作出具体的运用,在本文及以后将会在讲osgi中其他应用的时候将blueprint串进来讲解,本文将要讲讲解的是osgi中的command,在编写的应用中,可能涉及到数据迁移或者其他一些操作,如果这个通过调用接口来进行操作的话,如果非相关人员获取到相关接口调用方式,可能会带来一些危害,所以在不得已的

u012734441的专栏 1万+

RK3588高速接口实战-PCIE

摘要: RK3588的PCIe接口支持PCIe 3.0x4和PCIe 2.1x1/x2,具备Root Complex和Endpoint模式,适用于NVMe SSD、5G模块等高速设备。硬件设计需注意85Ω/100Ω阻抗匹配、220nF AC耦合电容及100MHz参考时钟。设备树需配置控制器节点、PHY模式和IOMMU映射(RC模式用iommu-map,EP模式用iommus)。调试时可通过lspci检查链路状态,dmesg查看训练日志,perf分析性能。常见问题包括设备识别失败(检查复位时序、PHY配置)、

weiyvyy的博客 504

OSGI框架下自定义注解,实现仿Spring注解的单例管理功能

背景:在项目中,存在需要根据外部文件输入或外部信息来决定系统流程的情况,比如(做运动,有跑步,游泳,打篮球,羽毛球等等,系统入口是做运动,但是具体做什么动作需要根据外部外部指令输入来决定),这样代码中会出现大量if else分支,因此希望对代码进行优化 在实际项目中,我负责的模块需要对每个传入的issue进行解析,得到采集项和采集对象然后进行不同的采集动作,由于没有上车统一南向(一个专门负责采集的模块),采集方法比较杂乱,每一个issue都需要写一个对应的解析和采集流程...

cl135795680的博客 440

微信小程序——01开发前的准备和开发工具

微信小程序——01开发前的准备和开发工具

总裁余(余登武)博客 1万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

OSGi框架-第二章- 在eclipse中使用Equinox 框架扩展自定义服务

1.注册一个自定义的服务: 1.定义一个服务,接口以及实现类。 2.把服务注册到OSGI框架中,OSGi 框架提供了两种注册方式,都是通过 BundleContext 类实现的:   registerService(String,Object,Dictionary) 注册服务对象 object 到接口名 String 下,可以携带一个属性字典Dictionary; regist...

leng1987021的博客 200

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

osgi自定义命令

有时候我们要查看项目运行情况,比如某个变量的值,这时候就可以把要查看变量的值放在某个方法里,karaf手动执行命令调用方法先定义类里面要调用的方法public class TestConsole { public void comm_one(){ System.out.println("TestConsole.comm1"); } public void co

0123456789 477

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

DBeaver 自定义图表实战:3 步把 ECharts 嵌进 OSGi 插件的完整指南

想让 DBeaver 自定义图表画出热力图、桑基图,原生模块却只给你 JFreeChart 的折线和柱状——卡点就在这。跟着文中 3 步跑通后,你能把任意图表库嵌进 DBeaver 的数据面板。 ## 前置准备:先摸清 OSGi 插件体系的三个关键点 DBeaver 不是普通 Maven 工程,它是一套 Eclipse RCP 应用:每个功能是一个 OSGi bundle,靠 `plugin.

gitblog_00455的博客 430

OSGI无法导入外部JAR包问题解决思路

OSGI无法导入外部JAR包问题解决思路

Felix 5091

OSGi介绍及OSGi的Bundle应用

http://blog.sina.com.cn/s/blog_50356fbb0100dytp.html 关键字: OSGi Bundle Plugin Eclipse     开放服务网关协议 (Open Services Gateway Initiative),简称 OSGi,为网络服务定义了一个标准的、面向服务的计算环境,为用户提供了开放的、面向服务组件的、易于部署的编程模型,这个编

走马观花 1763

基于OSGI的Cache组件的实现

  基于OSGI的Cache组件的实现Author:Wenchu.cenwc 岑文初Date:2007-3-13Email:wenchu.cenwc@alibaba-inc.com 源起:       平台新架构一个core module作为Loader Module,然后再启动系统级的Modules,最后是业务级的Modules。       OSGI中文意思是开放服

放翁(文初)的一亩三分地 6310

Osgi

OSGI与Plugin Architecture 作者: ∣来源:BlogJava∣原文地址∣2005-11-6 大 家都知道Eclipse是一个典型的插件系统,而从3.0起其插件体系架构就重构为基于OSGI规范来实现的,从这也可以看出osgi必然与Plugin Architecture是有很多的关联性的,在这里就

ruixj的专栏 3571

Celix, OSGi in C

celix的目标是用C来实现OSGi规范,原生OSGi是用Java实现的,虽然概念上没有差别,但是c语言实现起来相对会更难一些。参考原生的Java版本OSGi,C语言版本OSGi需要解决如下问题:     服务接口(Service Interfaces)     原生OSGi使用Java接口类(Interface)来描述和开放(expose)接口,这样就可以不用开放服务实现的细

闲云居 2232

OSGi Package uses conflict 解决

  OSGi 中出现Package uses conflict,一般是因为两个bundle中定义了相同的package。 下面link说的也是一种情况,但我出现两次都是因为在两个不同的bundle中定义了相同的packge。 http://blog.springsource.com/2008/11/22/diagnosing-osgi-uses-conflic...

粗人 472

初识OSGi框架--Equinox

1.准备环境 1.1找到eclipse下的/eclipse/plugins/org.eclipse.osgi_3.x.x_xxx.jar,然后拷贝出来。假设拷贝到$OSGI_HOM目录下。 1.2验证是否正常,然后cd 到该目录下。 执行java -jar org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar -console命令将会进入osgi命令行...

iteye_4524的博客 371
上一篇: java多线程总结三:sleep()、join()、interrupt()示例
下一篇: CORBA定义
Snoopy7713
博客等级 码龄21年 17粉丝 681原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值