【发布时间】:2012-08-09 08:57:32
【问题描述】:
我正在使用 REST 接口公开在一个 OSGi 包中生成的一些数据,以便之后任何人都可以通过典型的 http 请求来使用这些数据。为此,我使用了 apache-cxf、JAX-RS 和 Jetty 的组合(主要用于测试目的)。
我的整个应用程序以两种方式分发:
- 核心:将一组最小捆绑包作为 OSGi 框架运行。
- 完整版:Core + 加上一组要在 Eclipse 中使用的插件,以图形方式表示。
在核心启动配置中,我可以毫无问题地完成这项工作,请查看清单:
Require-Bundle: cxf-dosgi-ri-singlebundle-distribution;bundle-version="1.3.1",org.eclipse.core.runtime, org.eclipse.osgi.services;bundle-version="3.3.0", org.mortbay.jetty.server;bundle-version="6.1.23", org.mortbay.jetty.util;bundle-version="6.1.23"
当我尝试启动完整发行版时,码头服务器似乎没有启动,因此 RESTful 服务无法正常工作。完整的发行版附带了更多的插件,主要与向导、透视图等有关。这个问题的根源在某种程度上与 cxf-dosgi-ri-singlebundle-distribution 捆绑包有关,可以通过“强制”这个捆绑包的自动启动为 true 来解决,而不是默认(查看下图):
虽然这没关系,但我的问题是……为什么会这样?其次,也是最重要的一点,我通过更新站点分发完整版本,因此用户可以下载它,打开透视图并开始使用它,也就是说,这会影响最终分发吗?有什么方法可以控制更新站点中 apache-cxf 包的 auto-start=true 吗?
希望我能说清楚...
谢谢!
【问题讨论】:
标签: eclipse rest eclipse-plugin cxf