您的位置:首页 > Web前端

[OSGI] Felix基本环境搭建及操作

2015-01-12 13:53 260 查看
Felix是Apache旗下的一款实现OSG规范I的框架。访问地址:http://felix.apache.org/

搭建基本的OSGI框架只需要下载Felix Framework

下载完成后解压至任意目录(如:D:\felix-framework-4.4.1),在felix-framework-4.4.1目录下打开CMD命令窗口,执行启动Felix框架命令

java -jar bin/felix.jar


完成启动后输入 lb 命令查看当前启动Felix的bundle

g! lb
START LEVEL 1
ID|State      |Level|Name
0|Active     |    0|System Bundle (4.4.1)
1|Active     |    1|Apache Felix Bundle Repository (2.0.2)
2|Active     |    1|Apache Felix Gogo Command (0.14.0)
3|Active     |    1|Apache Felix Gogo Runtime (0.12.1)
4|Active     |    1|Apache Felix Gogo Shell (0.10.0)
g!


停止Felix框架是输入 stop 0

安装Felix的bundle(helloworld.jar)是需要bundle的绝对路径,执行命令install file:/file_path

<pre name="code" class="plain">g! lb
START LEVEL 1
ID|State      |Level|Name
0|Active     |    0|System Bundle (4.4.1)
1|Active     |    1|Apache Felix Bundle Repository (2.0.2)
2|Active     |    1|Apache Felix Gogo Command (0.14.0)
3|Active     |    1|Apache Felix Gogo Runtime (0.12.1)
4|Active     |    1|Apache Felix Gogo Shell (0.10.0)
g! install file:/d:/felix-framework-4.4.1/myplugins/helloworld_1.0.0.201501121409.jar
Bundle ID: 5
g!




执行lb查看安装结果

g! lb
START LEVEL 1
ID|State      |Level|Name
0|Active     |    0|System Bundle (4.4.1)
1|Active     |    1|Apache Felix Bundle Repository (2.0.2)
2|Active     |    1|Apache Felix Gogo Command (0.14.0)
3|Active     |    1|Apache Felix Gogo Runtime (0.12.1)
4|Active     |    1|Apache Felix Gogo Shell (0.10.0)
5|Installed  |    1|Helloworld (1.0.0.201501121409)
g!
可以看出新安装的helloworld.jar的状态为Installed

启动bundle命令start bundleID

g! start 5
Hello world!
g!


查看bundle状态 lb

g! lb
START LEVEL 1
ID|State      |Level|Name
0|Active     |    0|System Bundle (4.4.1)
1|Active     |    1|Apache Felix Bundle Repository (2.0.2)
2|Active     |    1|Apache Felix Gogo Command (0.14.0)
3|Active     |    1|Apache Felix Gogo Runtime (0.12.1)
4|Active     |    1|Apache Felix Gogo Shell (0.10.0)
5|Active     |    1|Helloworld (1.0.0.201501121409)
g!
helloworld bundle状态为Active表示插件已激活

停止bundle命令为stop bundleID

g! stop 5
g! lb
START LEVEL 1
ID|State      |Level|Name
0|Active     |    0|System Bundle (4.4.1)
1|Active     |    1|Apache Felix Bundle Repository (2.0.2)
2|Active     |    1|Apache Felix Gogo Command (0.14.0)
3|Active     |    1|Apache Felix Gogo Runtime (0.12.1)
4|Active     |    1|Apache Felix Gogo Shell (0.10.0)
5|Resolved   |    1|Helloworld (1.0.0.201501121409)
g!
helloworld bundle状态变为Resolved

更新helloworld的源码,输出语句变为Hello World, OSGI !

更新操作分为两种方法

将修改后的bundle替换原有bundle时,执行update bundleID

g! update 5
g! lb
START LEVEL 1
ID|State      |Level|Name
0|Active     |    0|System Bundle (4.4.1)
1|Active     |    1|Apache Felix Bundle Repository (2.0.2)
2|Active     |    1|Apache Felix Gogo Command (0.14.0)
3|Active     |    1|Apache Felix Gogo Runtime (0.12.1)
4|Active     |    1|Apache Felix Gogo Shell (0.10.0)
5|Installed  |    1|Helloworld (1.0.0.201501121422)
g! start 5
Hello World, OSGI !
g!


将现有bundle跟新至另一个位置的存放的bundle,执行 update bundleID file:/fiel_path

g! lb
START LEVEL 1
ID|State      |Level|Name
0|Active     |    0|System Bundle (4.4.1)
1|Active     |    1|Apache Felix Bundle Repository (2.0.2)
2|Active     |    1|Apache Felix Gogo Command (0.14.0)
3|Active     |    1|Apache Felix Gogo Runtime (0.12.1)
4|Active     |    1|Apache Felix Gogo Shell (0.10.0)
5|Active     |    1|Helloworld (1.0.0.201501121409)
g! update 5 file:/d:/felix-framework-4.4.1/myplugins/helloworld_1.0.0.201501121409_new.jar
Hello World, OSGI !
g!


卸载bundle 命令 uninstall bundleID

g! uninstall 5
g! lb START LEVEL 1 ID|State |Level|Name 0|Active | 0|System Bundle (4.4.1) 1|Active | 1|Apache Felix Bundle Repository (2.0.2) 2|Active | 1|Apache Felix Gogo Command (0.14.0) 3|Active | 1|Apache Felix Gogo Runtime (0.12.1) 4|Active | 1|Apache Felix Gogo Shell (0.10.0) g!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: