利用Eclipse开发基于OSGi的Bundle应用 - 编程入门网
tName(), "(ClassRoom=*)");
if (refs != null) {
try {
System.out.println("Enter a blank line to exit.");
BufferedReader in = new BufferedReader(new InputStreamReader(
System.in));
String name = "";
// Loop endlessly.
while (true) {
// Ask the user to enter a name.
System.out.print("Enter a Name: ");
name = in.readLine();
// If the user entered a blank line, then
// exit the loop.
if (name.length() == 0) {
break;
}
// First, get a name service and then check
// if the name is correct.
NameService nameservice = (NameService) context
.getService(refs[0]);
if (nameservice.checkName(name)) {
System.out.println("The Name is Correct.");
} else {
System.out.println("The Name is Incorrect.");
}
// Unget the name service.
context.ungetService(refs[0]);
}
} catch (IOException ex) {
}
} else {
System.out.println("Couldn''t find any name service...");
}
}
利用Eclipse开发基于OSGi的Bundle应用(6)时间:2011-12-08 ibm developerWorks 杨晓飞Bundle的部署及运行 在Eclipse平台中,选择File-->Export...菜单,将开发的example和exampleClient两个Bundle应用导出成Jar文件,以便将它们部署到OSGi服务平台中。选择将要运行的Bundle应用,鼠标右键点击,在弹出菜单中,选择Run AS-->Equinox FrameWork来启动OSGi服务平台。在Equinox启动配置控制台中,可以为Bundle应用设置默认的Start Level和Bundle应用是否需要自动启动等选项。在本例中,为了讲解如何安装及启动Bundle应用,只将example Bundle应用设为自动启动,而exampleClient Bundle应用需要我们用命令安装及启动。 当OSGi Equinox FrameWork启动后,在OSGi控制命令台中输入ss命令,可以查看OSGi服务平台中已经安装的Bundle应用信息及其状态。如图4所示,可以看到当前OSGi服务平台中有两个Bundle处于Active状态,其中,system.bundle_3.2.0.v20060328为OSGi框架的系统Bundle,而example_1.0.0为注册姓名查询服务的Bundle应用,1.0.0为Bundle应用的版本号。 图示4 Bundle信息查询 在OSGi控制命令台中利用install命令安装exampleClient Bundle应用,用ss命令查看安装后的Bundle应用信息及其状态。如图5所示: 图示5 安装Bundle 利用Eclipse开发基于OSGi的Bundle应用(7)时间:2011-12-08 ibm developerWorks 杨晓飞在OSGi控制命令台中利用start命令安装exampleClient Bundle应用,用户可输入姓名,利用姓名查询服务来判断所输入姓名是否有效,用ss命令查看启动后的Bundle应用信息及其状态。如图6所示: 图示6 启动Bundle 用户在在OSGi控制命令台中,可利用stop命令来停止指定的Bundle应用,close命令用来停止并退出OSGi控制命令台。关于OSGi Equinox Frame |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |