osgi 2
基础的API
BundleActivator BundleContext ServiceReference HelloServiceFactory ServiceTracker
osgi
疑惑:
Import-Package
最最基础的bundle中包含哪些 package?
很多, org.osgi.framework 是其中一个, org.osgi.framework.BundleActivator 则是位于其下。
为什么只导入package ‘org.osgi.framework ’ 即可,不需要导入整个org.eclipse.osgi_3.2.0.v20060601.jar bundle吗?
org.eclipse.osgi_3.2.0.v20060601.jar 对应几个bundle ———— osgi中 一个jar 只能对应一个bundle吗? 是的!
看看其中的MANIFEST.MF就知道了吧
Manifest-Version: 1.0
Bundle-Activator: org.eclipse.osgi.framework.internal.core.SystemBundl
eActivator
Bundle-RequiredExecutionEnvironment: J2SE-1.4,OSGi/Minimum-1.0
Export-Package: org.eclipse.osgi.event;version="1.0",org.eclipse.osgi.
framework.console;version="1.0",org.eclipse.osgi.framework.eventmgr;v
ersion="1.0",org.eclipse.osgi.framework.log;version="1.0",org.eclipse
.osgi.service.datalocation;version="1.0",org.eclipse.osgi.service.deb
ug;version="1.0",org.eclipse.osgi.service.environment;version="1.0",o
rg.eclipse.osgi.service.localization;version="1.0",org.eclipse.osgi.s
ervice.pluginconversion;version="1.0",org.eclipse.osgi.service.resolv
er;version="1.0",org.eclipse.osgi.service.runnable;version="1.0",org.
eclipse.osgi.service.urlconversion;version="1.0",org.eclipse.osgi.sto
ragemanager;version="1.0",org.eclipse.osgi.util;version="1.0",org.osg
i.framework;version="1.3",org.osgi.service.condpermadmin;version="1.0
",org.osgi.service.packageadmin;version="1.2",org.osgi.service.permis
sionadmin;version="1.2",org.osgi.service.startlevel;version="1.0",org
.osgi.service.url;version="1.0",org.osgi.util.tracker;version="1.3.1"
,org.eclipse.core.runtime.adaptor;x-friends:="org.eclipse.core.runtim
e",org.eclipse.core.runtime.internal.adaptor;x-internal:=true,org.ecl
ipse.core.runtime.internal.stats;x-friends:="org.eclipse.core.runtime
",org.eclipse.osgi.baseadaptor;x-internal:=true,org.eclipse.osgi.base
adaptor.bundlefile;x-internal:=true,org.eclipse.osgi.baseadaptor.hook
s;x-internal:=true,org.eclipse.osgi.baseadaptor.loader;x-internal:=tr
ue,org.eclipse.osgi.framework.adaptor;x-internal:=true,org.eclipse.os
gi.framework.debug;x-internal:=true,org.eclipse.osgi.framework.intern
al.core;x-internal:=true,org.eclipse.osgi.framework.internal.protocol
;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.bundle
entry;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.b
undleresource;x-internal:=true,org.eclipse.osgi.framework.internal.pr
otocol.reference;x-internal:=true,org.eclipse.osgi.framework.internal
.reliablefile;x-internal:=true,org.eclipse.osgi.framework.launcher;x-
internal:=true,org.eclipse.osgi.framework.util;x-internal:=true,org.e
clipse.osgi.internal.baseadaptor;x-internal:=true,org.eclipse.osgi.in
ternal.module;x-internal:=true,org.eclipse.osgi.internal.profile;x-in
ternal:=true,org.eclipse.osgi.internal.resolver;x-internal:=true,org.
eclipse.osgi.internal.verifier;x-internal:=true,org.eclipse.osgi.inte
rnal.provisional.verifier;x-friends:="org.eclipse.update.core,org.ecl
ipse.ui.workbench"
Bundle-Version: 3.2..v20060601
Eclipse-SystemBundle: true
Bundle-Copyright: %copyright
Bundle-Name: %systemBundle
Bundle-Description: %systemBundle
Bundle-DocUrl: http://www.eclipse.org
Bundle-ManifestVersion:
Export-Service: org.osgi.service.packageadmin.PackageAdmin,org.osgi.se
rvice.permissionadmin.PermissionAdmin,org.osgi.service.startlevel.Sta
rtLevel,org.eclipse.osgi.service.debug.DebugOptions
Bundle-Vendor: %eclipse.org
Main-Class: org.eclipse.core.runtime.adaptor.EclipseStarter
Bundle-SymbolicName: org.eclipse.osgi; singleton:=true
Bundle-Localization: systembundle
Eclipse-ExtensibleAPI: true
osgi 2的更多相关文章
- OSGi规范的C#实现开源
这是大约在3-4年前完成的一个C#实现的OSGi框架,实现的过程参照了OSGi规范与与一些实现思路(感谢当时的那些资料与项目),此框架虽然仅在几个小型项目有过实际的应用,但OSGi的规范实现还是相对比 ...
- 分享在Linux下使用OSGi.NET插件框架快速实现一个分布式服务集群的方法
在这篇文章我分享了如何使用分层与模块化的方法来设计一个分布式服务集群.这个分布式服务集群是基于DynamicProxy.WCF和OSGi.NET插件框架实现的.我将从设计思路.目标和实现三方面来描述. ...
- OSGi 基本原理
定义 OSGi(Open Service Gateway Initiative)技术是面向Java的动态模型系统. 这个框架实现了一个优雅.完整和动态地组价模型.应用程序(称为bundle)无序重新引 ...
- 重新诠释的OSGi规范
上周五部门开会讨论新一代产品(基于.net Winform)的设计规范,从设计规范慢慢讨论到体系结构等架构存在的问题,诸如菜单.工具条.状态条.界面布局等不能实现配置化和自动化,子系统之间拥有强依赖, ...
- Liferay7 BPM门户开发之38: OSGi模块化Bndtools、Maven、Gradle开发构建入门
前言 OSGi是目前动态模块系统的事实上的工业标准,它适用于任何需要模块化.面向服务.面向组件的应用程序.Eclipse如此庞大和复杂的插件体系,就是基于OSGi.Liferay也是基于OSGi.OS ...
- 开源协议:LGPL协议、OSGi协议---打酱油的日子
本文介绍开源的协议. LGPL 是 GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式,旧称 GNU Library General Publi ...
- 原创:Equinox OSGi应用嵌入Jersey框架搭建REST服务
一.环境 eclipse版本:eclipse-luna 4.4 jre版本:1.8 二.Equinox OSGi应用嵌入Jersey框架搭建REST服务 1.新建插件工程HelloWebOSGI a. ...
- 转:OSGi 入门篇:模块层
OSGi 入门篇:模块层 1 什么是模块化 模块层是OSGi框架中最基础的一部分,其中Java的模块化特性在这一层得到了很好的实现.但是这种实现与Java本身现有的一些模块化特性又有明显的不同. 本文 ...
- 转:OSGi 入门篇:生命周期层
OSGi 入门篇:生命周期层 前言 生命周期层在OSGi框架中属于模块层上面的一层,它的运作是建立在模块层的功能之上的.生命周期层一个主要的功能就是让你能够从外部管理应用或者建立能够自我管理的应用(或 ...
- osgi笔记
Bundle-Classpath可以实现内嵌jar. 一个Bundle的Activator不需要进行Export 一个Package中的类被两个ClassLoader加载,包中的Private cla ...
随机推荐
- LinuxMM--MemoryHierarchy
MemoryHierarchy 为了理解内核中的页替换算法,有必要认识linux中的存储体系分层架构.访问模式以及混合工作mixed workloads. 存储器分层架构 有两种类型的存储分层架构 ...
- iframe的自适应
iframe标签的应用感觉很强大,但是有的低版本好像不是很兼容,所以有的时候需要注意这个的兼容问题,iframe 元素会创建包含另外一个文档的内联框架(即行内框架),他的属性有很多,也很容易理解,就不 ...
- Centos 7下mysql的安装与配置
1,先下载好MySQ安装包并解压(不做详细说明). 2,上传解压后的MySQL安装包到虚拟机上. 3,安装MySQL [root@localhost /]# yum install mysql5.7. ...
- Python基于pandas的数据处理(一)
import pandas as pd, numpy as np dates = pd.date_range(', periods=6) df = pd.DataFrame(np.random.ran ...
- MySQL的limit查询优化
MySQL的limit查询优化以下的文章主要是对MySQL limit查询优化的具体内容的介绍,我们大家都知道MySQL数据库的优化是相当重要的.其他最为常用也是最为需要优化的就是limit.MySQ ...
- linux下subversion server安装手册
linux下subversion server安装手册 安装基于的Linux版本为:Red Hat Enterprise Linux Server release 6.3. 一 准备需要的安装包. ( ...
- 快速排序-java
排序-快速排序 基本思想: 将数据划分为两部分,左边的所有元素都小于右边的所有元素:然后,对左右两边进行快速排序. 划分方法: 选定一个参考点(中间元素),所有元素与之相比较,小的放左边,大的放右边. ...
- Android 把电话保存到现有联系人 已有联系人
搜索了很长时间,想找个把电话保存到现有联系人的代码,就是打开选中的联系人编辑界面,然后自动添加电话,再手动保存,就跟手机上的一样,功夫不负有心人,终于给搜到了,很不容易啊,现分享如下, // 保存至现 ...
- WINDOWS窗口风格 WS_OVERLAPPEDWINDOW
转自:http://blog.csdn.net/hquxiezk/archive/2008/07/29/2733269.aspx #define WS_OVERLAPPEDWINDOW (WS_OVE ...
- PHP路径常量和函数解释
文件目录: