14

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

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

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

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

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

我正在寻找适用于 AppEngine 或 WebStart 的有限版本的 Felix。

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

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

4

5 回答 5

2

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

于 2009-04-22T07:00:05.433 回答
1

你应该和 Chris Aniszczyk 谈谈。他使它与 Equinox 和 Knopflerfish 一起工作。看这里的截图:http: //twitpic.com/300lk他正计划写博客,但我猜他现在很忙。这是他博客的链接:http: //mea-bloga.blogspot.com/

于 2009-04-18T10:44:12.090 回答
1

我很确定它可以完成,这个 Eclipse 帮助页面可能会让你开始。如果我理解正确,您的捆绑包必须经过签名,并且您的 jnlp 文件需要请求所有权限。

于 2009-04-11T07:51:52.050 回答
1

http://code.google.com/p/lemmon/

但是,请检查 URLStreamHandler 问题的问题。

没有个人经验,只是一个可能对你有帮助的线索。

于 2010-12-12T00:03:21.480 回答
0

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

于 2009-04-09T10:47:13.450 回答