基础的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的更多相关文章

  1. OSGi规范的C#实现开源

    这是大约在3-4年前完成的一个C#实现的OSGi框架,实现的过程参照了OSGi规范与与一些实现思路(感谢当时的那些资料与项目),此框架虽然仅在几个小型项目有过实际的应用,但OSGi的规范实现还是相对比 ...

  2. 分享在Linux下使用OSGi.NET插件框架快速实现一个分布式服务集群的方法

    在这篇文章我分享了如何使用分层与模块化的方法来设计一个分布式服务集群.这个分布式服务集群是基于DynamicProxy.WCF和OSGi.NET插件框架实现的.我将从设计思路.目标和实现三方面来描述. ...

  3. OSGi 基本原理

    定义 OSGi(Open Service Gateway Initiative)技术是面向Java的动态模型系统. 这个框架实现了一个优雅.完整和动态地组价模型.应用程序(称为bundle)无序重新引 ...

  4. 重新诠释的OSGi规范

    上周五部门开会讨论新一代产品(基于.net Winform)的设计规范,从设计规范慢慢讨论到体系结构等架构存在的问题,诸如菜单.工具条.状态条.界面布局等不能实现配置化和自动化,子系统之间拥有强依赖, ...

  5. Liferay7 BPM门户开发之38: OSGi模块化Bndtools、Maven、Gradle开发构建入门

    前言 OSGi是目前动态模块系统的事实上的工业标准,它适用于任何需要模块化.面向服务.面向组件的应用程序.Eclipse如此庞大和复杂的插件体系,就是基于OSGi.Liferay也是基于OSGi.OS ...

  6. 开源协议:LGPL协议、OSGi协议---打酱油的日子

    本文介绍开源的协议. LGPL 是 GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式,旧称 GNU Library General Publi ...

  7. 原创:Equinox OSGi应用嵌入Jersey框架搭建REST服务

    一.环境 eclipse版本:eclipse-luna 4.4 jre版本:1.8 二.Equinox OSGi应用嵌入Jersey框架搭建REST服务 1.新建插件工程HelloWebOSGI a. ...

  8. 转:OSGi 入门篇:模块层

    OSGi 入门篇:模块层 1 什么是模块化 模块层是OSGi框架中最基础的一部分,其中Java的模块化特性在这一层得到了很好的实现.但是这种实现与Java本身现有的一些模块化特性又有明显的不同. 本文 ...

  9. 转:OSGi 入门篇:生命周期层

    OSGi 入门篇:生命周期层 前言 生命周期层在OSGi框架中属于模块层上面的一层,它的运作是建立在模块层的功能之上的.生命周期层一个主要的功能就是让你能够从外部管理应用或者建立能够自我管理的应用(或 ...

  10. osgi笔记

    Bundle-Classpath可以实现内嵌jar. 一个Bundle的Activator不需要进行Export 一个Package中的类被两个ClassLoader加载,包中的Private cla ...

随机推荐

  1. Being a Good Boy in Spring Festival 尼姆博弈

    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Descr ...

  2. 面向对象程序设计 第二次作业<1>

    Github链接:https://github.com/zora02/object-oriented/tree/master/1001.A%2BB%20Format%20(20) 一.解题 题目 解题 ...

  3. linux 项目环境搭建配置

    经过三天加一上午的努力折腾,本地项目终于跑起来了,linux系统,重装后需要安装基本的php,nginx,mysql.php扩展需要安装curl ,memcache,memcached等.然后就是修改 ...

  4. Android Fragment应用实战,使用碎片向ActivityGroup说再见

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/13171191 现在Fragment的应用真的是越来越广泛了,之前Android在3 ...

  5. MVC文件上传文件限制

    最近想实现MVC中文件上传限制,总觉得有便利的方法,找了半天就找到加属性accept <input type="file" id="file" name= ...

  6. MySQL的安装配置

    安装配置 MySQL1.官方下载 MySQL2.用 tar 解压.tar.bz 或.tar.gz3.解压后有三个目录,分别为 usr etc var4.进入 usr,进入 bin5.在主机上建个目录( ...

  7. 算法入门笔记------------Day2

    1.开灯问题 有n盏灯,编号为1-n,第一个人把所有灯打开,第二个按下所有编号为2的倍数的开关(这些灯都被关掉),第三个人按下所有编号为3的倍数的开关,依次类推,一共有k个人,问最后有哪些灯开着?输入 ...

  8. Linux下TCP网络编程与基于Windows下C#socket编程间通信

    一.linux下TCP网络编程基础,需要了解相关函数 Socket():用于套接字初始化. Bind():将 socket 与本机上的一个端口绑定,就可以在该端口监听服务请求. Listen():使s ...

  9. middleware - bodyparser

    express4之前,bodyparser是express下的一个对象. express4把bodyparser分离出来. 本文中的实例基于以下的这个请求 $.ajax({ url: '/save', ...

  10. 关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系

    1.概念介绍 如果你拥有一个开发者账户的话,在iOS Dev Center打开Certificates, Indentifiers & Profiles,你就可以看到如下的列表: Profil ...