基础的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. andorid frameanimation

    Android中的逐帧动画 先来说说什么是逐帧动画,逐帧动画是一种常见的动画形式(Frame By Frame),其原理是在“连续的关键帧”中分解动画动作,也就是在时间轴的每帧上逐帧绘制不同的内容,使 ...

  2. rbx1 package 下载安装过程

    学习INSTALLING THE ROS-BY-EXAMPLE CODE,是书中第五章的内容,如果我们按照上一篇教程执行过了,就可以直接进入第五章,安装一个叫rbx1的包.这个包里面包括了本书中用到的 ...

  3. Python小练习一

    # 对http://www.something.com形式的URL进行分割 url = input("Please enter the URL:") domain = url[11 ...

  4. Linux echo, sort, sed 等一些命令总结

    linux echo, sort, sed是初学linux shell script 的一些常用的命令.基本上来说,如果能够掌握了这些命令,我们就能写出一些不错的linux脚本.以下是我遇到的以下常用 ...

  5. 【转】如何在Windows+VS2005使用最新静态libcurl 7.35.0获取网页数据,支持HTTPS

    地址: http://blog.csdn.net/hujkay作者:Jekkay Hu(34538980@qq.com)关键词:Windows,curl,ssl,  visual c++ 2005, ...

  6. Mysql 变量使用

    mysql 中可以将所查询到的数据用变量存储下来,供后面使用 语法:SELECT @变量名 := 变量值 eg: SELECT @cid:=class_id, (SELECT class_name F ...

  7. tomcat 假死现象(转)

    1.1 编写目的 为了方便大家以后发现进程假死的时候能够正常的分析并且第一时间保留现场快照. 1.2编写背景 最近服务器发现tomcat的应用会偶尔出现无法访问的情况.经过一段时间的观察最近又发现有台 ...

  8. bootstrap框架 导航条组件使用

    本文记载boot 导航条组件使用方法 导航条组件 导航条是在您的应用或网站中作为导航页头的响应式基础组件.它们在移动设备上可以折叠(并且可开可关),且在视口(viewport)宽度增加时逐渐变为水平展 ...

  9. 算法入门笔记------------Day3

    主要是复习前面的基本内容,以及函数的概念 组合数 #include<stdio.h> int f(int n) { int m=1; for(int i=1;i<=n;i++) m* ...

  10. 【Visual Lisp】两种出错处理方式

    两种出错处理方式:一种是对出错函数进行重定义,一种是对错误进行捕捉处理. ;;============================================================= ...