转:OSGI 实战 Equinox】的更多相关文章

http://download.csdn.net/detail/ifmliuzhen/3231590…
<深入理解OSGi:Equinox原理.应用与最佳实践>笔记_1_运行最简单的bundlehelloworld 买了周大大的OSGI的书看 先前完全没有基础 就靠这本书看看学学 顺便记一些笔记 今天先跳到了第5章的equinox启航部分 第一个简单的helloworld就遇到了问题.... 因为eclipse版本和书中不同 用书中所说得到的全是异常.... 搜索有关资料以后可以运行正常了 以此来记录一下: 在较新版本的eclipse中 不能通过java -jar org.eclipse.osg…
本文对应书本5.1.3的内容 书本中通过CVS下载的源码 但是笔者实践的时候发现无法下载...地址已经失效了(也许是笔者的失误输错地址所致) 可以用git下载 地址是: http://git.eclipse.org/c/equinox 进入需要下载的组件的页面 在最下面有git clone的地址 http://git.eclipse.org/c/equinox/rt.equinox.framework.git/ 写道 Clonegit://git.eclipse.org/gitroot/equi…
原文地址:https://liugang594.iteye.com/blog/1328050 简单介绍一下如何在一个osgi的bundle中内嵌使用http服务 一.基础 首先看看在OSGI中怎么启动内嵌的jetty容器.看下图: 其实简单的只选中"org.eclipse.osgi"和"org.eclipse.equinox.http.jetty",然后点击"Add Required Bundles"即可. 默认的Jetty监听的端口为80,可又…
通过ServiceTracker能够对查找的Service进行扩展 以下的demo引入装饰器模式对Service进行日志的扩展 demo: Provider student-manage/Activator.java package com.demo.service; import java.util.Dictionary; import java.util.HashMap; import java.util.Hashtable; import java.util.Map; import org…
生命周期中关键3个类: BundleActivator 入口点,类似main方法 BundleContext Bundle上下文对象,在执行期间,为应用程序提供操作osgi框架的方法 Bundle 代表一个已安装的Bundle 接口说明: BundleActivator: public interface BundleActivator { public void start(BundleContext context) throws Exception; public void stop(Bu…
源码下载 分层: modual: 主要作用于包级管理与共享代码 lifecycle: 主要作用于执行期间的模块管理与訪问osgi底层框架 service: 主要作用于多模块之间的相互通信 demo: hello-provider/pom.xml <? xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.or…
环境准备: jdk版本号 jdk:1.7 karaf: 版本号:apache-karaf-3.0.1 下载地址: http://pan.baidu.com/s/1qWM4Y1u http://karaf.apache.org/ 配置本地仓库: 參考:http://blog.csdn.net/wobendiankun/article/details/25333113 启动karaf: karaf_home/bin/karaf.bat 启动成功例如以下: 安装 mvn-hello-provider…
什么是Service? 它是注冊到osgi的一个java对象 Service注冊: 通过BundleContext::registerService(java.lang.String[] clazzes, java.lang.Object service, java.util.Dictionary properties)  Service查找及使用: 通过BundleContext::getServiceReference(java.lang.String clazz),返回ServiceRef…
开发环境分为三个部份 osgi_provider: bundle开发环境,对外提供服务 osgi_consumer: 引用其他bundle osgi_main: 执行測试 项目主要内容 : common.xml: <?xml version="1.0" encoding="UTF-8"?> <project name="common"> <!-- 属性定义 --> <dirname property=&q…