OSGI入门例子
来源:互联网 发布:java multiply函数 编辑:程序博客网 时间:2024/06/05 12:50
本例子是基于felix容器运行的例子
一:
使用eclipse新建一个 Plug-in Project 项目
注意,
1:Project name 建议用包名加项目名的形式
2:这里的 an OSGI framework 选择 stadard 表示这是一个标准的OSGI程序,可以运行在任何OSGI容器中
然后,继续下一步,Finish即可
二:编辑Activator.java
package com.lala.shop;import org.osgi.framework.BundleActivator;import org.osgi.framework.BundleContext;public class Activator implements BundleActivator{static BundleContext bundleContext;public void start(BundleContext context) throws Exception{bundleContext = context;context.addBundleListener((event) -> {System.out.println("-------bundleChanged-----");System.out.println(event.getBundle().getSymbolicName() + " bundleChanged , type="+event.getType());});System.out.println("----------start----------");}public void stop(BundleContext context) throws Exception {bundleContext = null;System.out.println("----------stop----------");}}
然后,编辑META-INF/MANIFEST.MF文件
Manifest-Version: 1.0Bundle-ManifestVersion: 2Bundle-Name: ShopBundle-SymbolicName: com.lala.shopBundle-Version: 1.0.0Bundle-Activator: com.lala.shop.ActivatorBundle-RequiredExecutionEnvironment: JavaSE-1.8Import-Package: org.osgi.framework;version="1.3.0"
这里需要注意的是:Bundle-Activator ,需要写全路径
三:导出bundle
右键项目,选择Export ,
选择 Deployable plug-ins and fragments
下一步
在Distation中,选择第二个,Archive file,选择导出目录
四:安装felix
下载最新版felix
org.apache.felix.main.distribution-5.0.1.tar.gz
解压之后,cd felix-framework-5.0.1
执行 java -jar bin/felix.jar [注意,不要进入到bin 目录下,执行 java -jar felix.jar]
进入到felix的控制台
输入help之后,可以看到全部命令
把刚才导出的*.zip文件解压开来,会在plugins目录下生成一个*.jar文件
在felix控制台上执行
install file:/tmp/*.jar
然后,执行lb即可查看容器中的全部bundle
执行 start id
即可看到输出
----------start----------
-------bundleChanged-----
com.lala.cctv bundleChanged , type=2
- OSGI入门例子
- 【OSGI】OSGi概念入门
- [OSGI]OSGI入门介绍
- OSGI 入门
- OSGi入门
- OSGi入门
- osgi 入门
- osgi 入门
- OSGI 入门
- OSGI入门
- OSGI入门
- 什么是OSGI以及OSGI入门
- OSGi入门笔记
- OSGI概念入门
- OSGi入门笔记
- 7.31 OSGI入门
- OSGI 入门资料收藏
- OSGI--apache felix 入门
- 卸载Visual Studio导致SSMS无法打开
- RAID 6
- 一点一滴解读网狐的加解密
- HDOJ 1012 u Calculate e(水题)
- 2015071505 - 实力才是立足的根本
- OSGI入门例子
- 滑动窗口机制
- MongoDB安装成系统服务
- [leetcode] Search a 2D Matrix
- Dropbox 在ubuntu14.04下无法启动等各种问题
- 如何基于Symfony Components创建你的php框架(目录)
- spring mvc + simple-spring-memcached
- openwrt 脚本文件实现中继(uci命令)
- LoongSSO 大中型WEB系统单点登陆(SSO)整合利器