可以在沙箱中运行的Mini-OSGi(如AppEngine或WebStart)?

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

我也喜欢“托管部署”服务,如Google AppEngine(用于Web应用程序)或Java WebStart(用于客户端软件)。

这两个想法似乎在概念上很好地互补。

但是,OSGi标准包括一些功能,使得像Felix或Equinox这样的实现不可能在沙盒虚拟机(如AppEngine或Webstart)上运行。例如,在这些环境中,不可能直接访问文件系统,这排除了用于存储持久捆绑状态和本机库的 OSGi 捆绑缓存。

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

我正在寻找一种类似于在AppEngine或WebStart上运行的Ix的有限版本的东西。

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

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


答案 1

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


答案 2

我很确定这是可以做到的,这个eclipse帮助页面可能会让你入门。如果我理解正确,您的捆绑包必须签名,并且您的jnlp文件需要请求所有权限。


推荐