返回信息流所有的组件都是bundle,而且都是对等的关系是吗?都是由framework统一启动统一调度?
如果我有一个主程序,允许用户添加插件,那么“主程序”本身也是一个bundle吗?
eclipse的主程序呢?它有eclipse(.exe)的。
这是一条镜像帖。来源:北邮人论坛 / java / #13469同步于 2010/3/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
[求助]关于OSGi
wks
2010/3/12镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
【 在 wks 的大作中提到: 】
: 所有的组件都是bundle,而且都是对等的关系是吗?都是由framework统一启动统一调度?
: 如果我有一个主程序,允许用户添加插件,那么“主程序”本身也是一个bundle吗?
: eclipse的主程序呢?它有eclipse(.exe)的。
: ...................
我理解,你所谓的“主程序”也是一个bundle的
其实就是依赖来、依赖去,但应该不能循环依赖吧
“主程序”是应用中的地位关系。比如一个文本编辑器,编辑器本身就是“主程序”,一些增加编辑功能的插件就叫“插件”。
目前我看到的例子基本上都是命令行用java -jar org.eclipse.osgi.xxxx.xxxx.jar,用一个配置文件配置初始引入的一系列bundle(当然,如果把主程序做一个bundle引入,功能上也可以实现)。如果让osgi framework被“主程序”拥有,且这个framework的生命周期受“主程序”控制,而且程序的入口(public static void main)在主程序里,有没有办法?(是不是即使这样,主程序也要注册到framework里做一个“平民化”的bundle?)
【 在 fireflyk 的大作中提到: 】
: 我理解,你所谓的“主程序”也是一个bundle的
: 其实就是依赖来、依赖去,但应该不能循环依赖吧
【 在 wks 的大作中提到: 】
: “主程序”是应用中的地位关系。比如一个文本编辑器,编辑器本身就是“主程序”,一些增加编辑功能的插件就叫“插件”。
: 目前我看到的例子基本上都是命令行用java -jar org.eclipse.osgi.xxxx.xxxx.jar,用一个配置文件配置初始引入的一系列bundle(当然,如果把主程序做一个bundle引入,功能上也可以实现)。如果让osgi framework被“主程序”拥有,且这个framework的生命周期受“主程序”控制,而且程序的入口(public static void main)在主程序里,有没有办法?(是不是即使这样,主程序也要注册到framework里做一个“平民化”的bundle?)
你所谓的“生命周期”都是由framework来完成的,如果需要接管framework的工作,那说明一个问题,你根本不需要这个framework,找另外一条路就好了。framework的意义在于,它可以帮助你完成一些你不需要关心的东西,比如各个包的生命周期。而osgi框架的特色之处就在于,除了基本的osgi核心库以外,所有的东西都是平面化的,松耦合的。只要核心不挂,即使其中任何bundle挂了也没有太大关系,类似于操作系统!
【 在 wks 的大作中提到: 】
: “主程序”是应用中的地位关系。比如一个文本编辑器,编辑器本身就是“主程序”,一些增加编辑功能的插件就叫“插件”。
: 目前我看到的例子基本上都是命令行用java -jar org.eclipse.osgi.xxxx.xxxx.jar,用一个配置文件配置初始引入的一系列bundle(当然,如果把主程序做一个bundle引入,功能上也可以实现)。如果让osgi framework被“主程序”拥有,且这个framework的生命周期受“主程序”控制,而且程序的入口(public static void main)在主程序里,有没有办法?(是不是即使这样,主程序也要注册到framework里做一个“平民化”的bundle?)
你所谓的主程序就是传统意义上的包含main函数的那个类吧
osgi启动都应该通过配置文件吧
所以实际上主程序还是那个配置文件,每一个就是一个bundle
如果那个bundle的包里刚好有一个所谓的“主程序”,这个整体也仍是bundle
这个主程序也只是其中的小小的一个类
个人理解~
【 在 lazytiger 的大作中提到: 】
:
: 你所谓的“生命周期”都是由framework来完成的,如果需要接管framework的工作,那说明一个问题,你根本不需要这个framework,找另外一条路就好了。framework的意义在于,它可以帮助你完成一些你不需要关心的东西,比如各个包的生命周期。而osgi框架的特色之处就在于,除了基本的osgi核心库以外,所有的东西都是平面化的,松耦合的。只要核心不挂,即使其中任何bundle挂了也没有太大关系,类似于操作系统!
比喻的好厉害啊,学习学习~