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

Thi*_*ilo 14 java google-app-engine osgi sandbox java-web-start

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

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

这两个想法似乎在概念上相互补充.

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

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

我正在寻找像AppEngine或WebStart上运行的有限版本的Felix.

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

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

Oli*_*ier 0

如果您唯一的问题来自包缓存并且您不需要它,您可以通过在 Equinox 或 Felix 中将此属性设置为 null 来摆脱它?我很确定这个缓存不是让 Equinox 运行所必需的(Felix 不知道)