有网友问我有没有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后,输入以上命令,看结果如何。
分享到:
相关推荐
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> ; charset=UTF-8"> <title>a test page <body>Hello, This is a test page! </html>
利用osgi基础来搭建servlet demo
osgi数据库连接一章demo,c3p0配置oracle连接池和ibatis在osgi框架中的使用
开发一个简单的 OSGi Web 应用实例,如何进行OSGI开发的 实例有利于入门着进行使用
osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍
osgi-ds一章对应的demo,里面包括1..1和1..n
osgi自定义控制台命令一章中对应的bundle
一个osgi例子,加压后两个文件夹,一个是源代码,一个是可运行文件 点击即可看结果
osgi集成spring的应用 内涵各种jar包,直接可以使用
该Demo模拟了这样一个功能, 从OSGI命令行接收到一个命令: 服务名 参数1 参数2 就能将服务转发到对应的服务插件上去. 比如: AddService 12 34 这样就能将参数传递给AddService这样的服务, 并得到两个参数相加的结果
demo for osgi
把OSGI部署成一个可运行的例子,怎样 部署启动一个OSGI
MyEclipse10+Jdk1.7+OSGI+MySql实现数据库的增删改查对应的源码,详细操作请参考http://blog.csdn.net/xqf222/article/details/41281217
压缩包里面有myself工程。里面只有一个类。可以自己创建两个版本的myself的jar包,然后测试osgi解决jar包冲突。
资源名称:OSGI原理与最佳实践内容简介:国内第一本OSGi图书OSGi国内推广者林昊多年经验的结晶涵盖OSGi从入门到深入的知识体系引领OSGi国内研究和普及本书基于作者多年使用OSGi的经验而编写,涵盖了OSGi从入门到深入...
详细描述了第一开发Osgi的详细情况,附上了一个工程文件
利用R-OSGi实现分布式OSGi应用...然后通过一个简单的功能实现由浅入深地讲述传统 OSGi 和 R-OSGi 上的两种不同实现,让您对实际操作加深印象。最后,探讨了 R-OSGi 的目前使用情况以及整个分布式 OSGi 应用的发展前景。
在intellij IDEA 13下的OSGi的maven demo实例 包括客户端,服务端以及web的简单实例
基于OSGi和Spring开发Web应用的博文对应的代码