乱凑的一个osgi的demo

   有网友问我有没有osgi的demo,于是将前段时间给朋友的一个例子拿来整理了一下。
  
   首先,这个demo是在karaf下运行的,项目由三个bundle组成,会涉及自定义的console命令,服务的发布和引用。
  
   项目为maven项目,为方便构建,将三个bundle项目作为一个父项目下的三个子项目。项目经mvn package构建后,在三个子项目的target文件夹下分别生成了Calculator-1.0.jar、AddModule-1.0.jar、SubModule-1.0.jar三个bundle,这三个bundle分别为:
  
    1、Calculator bundle,负责处理console输入的命令;
    2、AddModule bundle,负责提供计算加法的服务;
    3、SubModule bundle,负责提供计算减法的服务;
   
    到http://karaf.apache.org下载karaf后,解压,将三个bundle复制到在<karaf-root>/deploy下,运行<karaf-root>/bin/karaf.bat(或karaf.sh)启动karaf,输入list,可以看到三个bundle状态均为ACTIVE,而且blueprint也是CREATE的状态。

    这时就可以输入
   
    karaf> calc:add 1 2
    1 + 2 = 3
    karaf> calc:sub 10 3
    10 - 3 = 7


可尝试停了AddModule或SubModule后,输入以上命令,看结果如何。

猜你喜欢

转载自killko.iteye.com/blog/1797364
今日推荐