Freud's Blog

Stay hungry, stay foolish. 少年辛苦终身事,莫向光阴惰寸功。

JAVA OSGi(五)-Component注册Service模块实现

Posted on By Freud Kang

  • 第四章的基础上,在osgi_equinox_impl项目中的META-INF目录下的MANIFEST.MF文件中删除Bundle-Activator: com.freud.osgi.impl.Activator
  • 在项目上新建一个文件夹osgi-INF
  • OSGi-INF上,右键新建一个Component Definition,注意在Class上填写com.freud.osgi.impl.HelloWorldServiceImpl

new component definition

  • 打开component文件,切到Services tab下,修改如下

provide services

  • 重新Run as-Run configuration

run configuration

  • 控制台输出

ss stdout


其中有个小插曲是直接运行会报一个no service的错误,只需要先把consumer取消掉运行成功一次,停止程序,然后再将Consumer添加上再运行就可以成功了。


参考资料

视频教程 : http://v.youku.com/v_show/id_XNDE1NzU0OTY0.html
Equinox OSGi官网 : http://www.eclipse.org/equinox/
林昊 : 《OSGi原理与最佳实践》
Richard S. Hall : 《OSGi实战》