可以在沙箱(如 AppEngine 或 WebStart)中运行的 Mini-OSGi? [英] Mini-OSGi that can run in a sandbox (like AppEngine or WebStart)?

查看:30
本文介绍了可以在沙箱(如 AppEngine 或 WebStart)中运行的 Mini-OSGi?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我真的很喜欢 OSGi 实现的模块化捆绑包的概念.

I really like the concept of modular bundles as implemented by OSGi.

我也喜欢托管部署"服务,例如 Google AppEngine(用于网络应用程序)或 Java WebStart(用于客户端软件).

I also like "managed deployment" services like Google AppEngine (for web application) or Java WebStart (for client software).

这两个想法在概念上似乎相辅相成.

These two ideas seem to complement each-other rather well conceptually.

但是,OSGi 标准包含一些功能,使得 Felix 或 Equinox 等实现无法在 AppEngine 或 Webstart 等沙盒虚拟机上运行.在这些环境中,无法直接访问文件系统,例如,这排除了用于存储持久包状态和本机库的 OSGi 包缓存.

However, the OSGi standard includes a couple of features that make it impossible for implementations like Felix or Equinox to run on top of sandboxed virtual machines, such as AppEngine or Webstart. In these environments, it is not possible to get direct access to a file system, for example, which precludes the OSGi bundle cache that is used to store persistent bundle state and native libraries.

现在,我对使用本机库或具有持久包状态没有太大兴趣.是否有一些框架实现了 OSGi 的核心包和服务概念(理想情况下以兼容的方式,以便 OSGi 包可以按原样部署到其中),但可以在没有包缓存的情况下工作(以及沙箱中不可用的其他设施)?

Now, I have no great interest in using native libraries or have persistent bundle state. Is there some framework that implements the core bundle and services concept of OSGi (ideally in a compatible way so that OSGi bundles can be deployed into it as is), but can work without a bundle cache (and other facilities not available in a sandbox)?

我正在寻找可以在 AppEngine 或 WebStart 上运行的受限版 Felix.

I am looking for something like a limited version of Felix that works on AppEngine or WebStart.

当然,如果 WebStart 引擎和 Google AppEngine 只是提供开箱即用的 OSGi 框架服务,那也很好...

Of course, if the WebStart engine and the Google AppEngine just provided OSGi framework services out-of-the-box that would be great, too...

更新: AppEngine 的另一个非常有限的方面是您无法启动新线程.这可以防止(除其他外)异步包生命周期管理.显然不是 WebStart 的问题.

Update: Another very limiting aspect of AppEngine is that you cannot start new Threads. This prevents (among other things) asynchronous bundle life-cycle management. Obviously not an issue with WebStart.

推荐答案

EclipseSource 有一个补丁版本的 osgi 引擎,它(有点)在 AppEngine 中工作,从博客下载项目 zip 文件:http://eclipsesource.com/blogs/2009/04/10/osgi-on-appengine/

EclipseSource have a patched version of osgi engine that (kind of) working in AppEngine, download the project zip files from the blog: http://eclipsesource.com/blogs/2009/04/10/osgi-on-appengine/

这篇关于可以在沙箱(如 AppEngine 或 WebStart)中运行的 Mini-OSGi?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆