R-OSGiOSGi 分布式通讯组件

联合创作 · 2023-09-30 01:22

R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用也较为便捷。


概括下用户只需要完成如下几步。


在 Server 端:



  • OSGi 容器内启动 R-OSGi 的 Bundle

  • Service 的 Bundle 里 MENIFEST 文件中 import 对 R-OSGi 的引用

  • 将需要被 Client 调用的接口暴露给 R-OSGi 模块即可。


在 Client 端:



  • OSGi 容器内启动 R-OSGi 的 Bundle

  • Client 的 Bundle 里 MENIFEST 文件中 import 对 R-OSGi 的引用

  • 取得 R-OSGi 暴露的 Service 调用接口即可


R-OSGi 运行流程


下图简要说明了 R-OSGi 实现的流程及原理:


图 2. R-OSGi 实现流程



  1. 远程 Service 通过 R-OSGi 框架注册到 OGSi 容器。

  2. R-OSGi 在 OS 上打开一个端口(默认 9278)来创建 Socket 监听器。

  3. Client 端 Bundle 启动时调用指定 Server 的默认端口,请求 Socket 通信。

  4. 在本 OSGi 容器内生成一个代理 Bundle,用于本地 Client 调用。

  5. 在 Client 端注册签名一样的 Service。

  6. 客户端调用 Service,实际上调用的是通过代理 Bundle 调用远程的 Service,等待通讯返回。

浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报