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

OSGi简介

我们说到OSGi时,根据上下文不同,通常可能指OSGi联盟、OSGi标准或者OSGi框架。...这一系列的标准由OSGi联盟维护,标准的实现通常则称为OSGi容器或者OSGi服务平台。下面我们就分别简单介绍OSGi标准、OSGi的特点、业务主流的OSGi实现与扩展和OSGi联盟。...OSGi各个版本的标准可以从osgi.org中下载。最新标准分为两个部分,OSGi Core和OSGi Enterpise。...OSGi Enterprise主要包括组件模型、分布式服务、Web应用于HTTP Servlet、事件模型、管理与配置服务、名称与目录服务、数据访问、事务支持以及其它一些支持服务。...除了提供运行环境外,Knopflerfish也提供了一套Eclipse的SDK,帮助开发者开发OSGi应用。 OSGi联盟 最后再说一说维护着OSGi标准,推动OSGi一直向前发展的OSGi联盟。

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

    OSGI开发web应用

    开发web的两种方式 基于OSGI开发B/S应用有两种方式: 1)在OSGI框架中嵌入Http服务器 2)在Servlet容器中嵌入OSGI框架 Http服务器嵌入到OSGI框架环境配置...配置运行环境,选择Run->Run Configuration,new一个环境 ?...右边是可视化的配置管 理器,在这里可以定义插件,配置插件运行所依赖的组件及需要导入的包,运行时环境,编译构建配置等。...现在虽然HTML页面文件有了,包也配置好了,但是还不能通过HTTP访问相应的页面,如果现在测试运行访问http://localhost:8080服务,浏览器会提示找不到页面,我们需要将页面注册到OSGi...; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; import org.osgi.service.http.HttpService

    1.6K40

    OSGI的实现——Felix

    Apache Felix Felix是一个OSGi版本4规范的Apache实现。 OSGi是一个基于Java的服务平台规范,其目标是被需要长时间运行、动态更新、对运行环境破坏最小化的系统所使用。...有许多公司(包括Eclipse IDE,它是第一个采用OSGi技术的重要项目)已经使用OSGi去创建其微内核和插件架构,以允许在运行时刻获得好的模块化和动态组装特性。...目前Felix已经实现了OSGI R4规范中的大部分内容。...Felix环境配置 下载felix的最新版本,并且将最新的felix解压到本地路径。 新建一个Java工程 ? 工程名为felix,这个工程名可以随意设置 ? 选择下一步,修改输出路径 ?  ...然后配置Run Configuration ? 修改配置 ? 点击Run,就可以运行felix,启动后结果如下: 发布应用到Felix中 新建插件工程HelloFelix ?

    1.7K90

    OSGi 基本原理

    OSGi服务平台提供在多种网络设备上无需重启的动态改变构造的功能。 为了最小化耦合度和促使这些耦合度可管理,OSGi技术提供一种面向服务的架构,它能使这些组件动态地发现对方。...OSGi联盟已经开发了例如像HTTP服务器、配置、日志、安全、用户管理、XML等很多公共功能标准组件接口。这些组件的兼容性插件实现可以从进行了不同优化和使用代价的不同计算机服务提供商得到。...OSGi的主要职责就是为了让开发者能够创建动态化、模块化的Java系统。 OSGi 框架 OSGi框架从概念上可以分为三层:模块层、生命周期层和服务层。...模块层 模块层是 OSGi 框架中最基础的部分。 OSGi 的模块化,是通过为 Jar 包添加metadata 来定义哪些类该暴露,哪些类该隐藏,其控制单元叫做 Bundle(jar 包)。...参考资料 OSGi入门篇:模块层 OSGi入门篇:生命周期层 OSGi入门篇:服务层 OSGi原理与最佳实践

    3.2K90

    模块化服务规范——OSGI

    什么是OSGI OSGi(Open Service Gateway Initiative)有双重含义。...一方面它指OSGi Alliance组织;另一方面指该组织制定的一个基于Java语言的服务(业务)规范——OSGi服务平台(Service Platform)。...基于这个框架定义了大量的OSGi服务:日志、配置管理、偏好,HTTP(运行servlet)、XML分析、设备访问、软件包管理、许可管理、星级、用户管理、IO连接、连线管理、Jini和 UPnP。...OSGi原先关注于服务网关,其实可用于多个方面。现在OSGi规范已经用于从移动电话到开源的Eclipse(其中包括了与IBM的OSGi框架SMF兼容的开源版本)。...OSGi规范是由成员通过公开的程序开发,对公众免费而且没有许可证限制。但是OSGi Alliance的兼容性程序只对成员开放,目前有12个兼容的实现。

    1.6K30

    灵活的类加载器OSGI

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

    68030

    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

    Springboot Application 集成 OSGI 框架开发

    类加载器 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 插件之间进行相互调用。...并对它的实现方法做了进一步的探讨,这些探讨对于将 OSGI 应用嵌入到任何其他的系统中是一个启发和帮助,希望有兴趣的读者可以做进一步的了解和实现。

    1.4K20

    OSGi跨bundle调用,jaxb-impl异常

    项目中使用osgi架构,在处理xml解析的实现中使用了jdk自带的Javax.xml.bind包。...ContextFinder.NoPackageInContextPath")); } } 1、首先,寻找系统是否自定义jaxb.properties,指明所需的工厂类全限定名 2、其次,寻找系统是否配置了系统变量...javax.xml.bind.JAXBContextFactory来指定工厂对象 3、接着,寻找jaxb包提供的META-INF/servies/javax.xml.bind.JAXBContextFactory配置文件...,里面配置了所需的工厂类全限定名 4、若还是没有,lookuposgibundle寻找 5、若还是没有,就构建系统默认指定的com.sun.xml.internal.bind.v2.ContextFactory...猜测由于OSGi的隔离机制,在跨bundle使用过程中读取不到该配置文件。 解决 由于jaxb-api提供了SPI的扩展机制,基于他的实现很多,所以集成了如下的依赖解决该问题: <!

    20510

    Linux入门】Linux环境配置

    前言:本篇内容讲解Linux环境的配置,云服务器和虚拟机的配置、如何多用户使用一个云服务器。关于选择哪一种还是依情况而定。...1、搭建 Linux 环境 Linux 环境的搭建方式 1、直接安装在物理机上....使用 XShell 远程登陆到 Linux 关于 Linux 桌面 Linux 启动进入图形化的桌面. 以后的工作中 没有机会 使用图形界面. 为什么不使用图形界面?...云服务器的配置: 获得root权限进行登录 ssh root@公网ip 分享账号: 多用户管理操作: # adduser 新用户名--------创建用户 # passwd 新用户名----...-----输入密码,密码设置时不显示 # user -r 用户名 ------------删除用户 登录分享的账号: ssh 用户名@ip地址 输入密码 虚拟机的配置配置的是权限,这里的指令只需要按顺序操作即可

    66331

    linux rsyslog配置_syslog配置

    直接兼容syslogd的syslog.conf配置文件 在同一台机器上支持多个rsyslogd进程 丰富的过滤功能,可将消息过滤后再转发 灵活的配置选项,配置文件中可以写简单的逻辑判断 增加了重要的功能.../etc/sysconfig/rsyslog文件用于配置守护进程的运行参数,/etc/rsyslog.conf是rsyslog的主配置文件。...#配置客户端rsyslog发送tcp端口日志,通过修改配置文件/etc/rsyslog.config上指定tcp传输的日志 echo ‘mail.info @@172.31.101.52:514’>>.../var/log/anaconda.log — 在安装Linux时,所有安装信息都储存在这个文件中。 /var/log/yum.log — 包含使用yum安装的软件包信息。.../var/log/audit/ — 包含被 Linux audit daemon储存的信息。 /var/log/samba/ – 包含由samba存储的信息。

    11.2K20
    领券