OSGi 开发:从基础示例到拍卖系统应用
1. OSGi 服务与松耦合示例
1.1 服务启动与停止方法的实现要点
在 OSGi 开发中, BundleActivator 实现的 start 和 stop 方法需要快速返回。如果 start 方法执行时间过长,不仅当前捆绑包无法激活,还可能影响其他等待激活的捆绑包。可以通过生成新线程来实现快速返回。
1.2 打包示例代码
我们将 PrinterClientActivator 和 RunnablePrinterClient 类归档到 helloworld.client 捆绑包的 1.1.0 版本中,其清单文件如下:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: helloworld.client
Bundle-Version: 1.1.0
Import-Package: manning.osgi.helloworld;version=1.4.0,
org.osgi.framework
Bundle-Activator: manning.osgi.helloworld.client.PrinterClientActivator
1.3 服务交互关系
下图展示了 Printer 服务、其实
超级会员免费看
订阅专栏 解锁全文
66

被折叠的 条评论
为什么被折叠?



