我在我的项目中使用 Apache Felix HTTP Service Jetty 2.2.0。根据文档,我编写了以下代码来更改默认服务端口。
ConfigurationAdmin configAdmin = // get ConfigurationAdmin from OSGi service registry
Configuration config = configAdmin.getConfiguration("org.apache.felix.http" , null);
Dictionary<String, Object> props = config.getProperties();
if(props == null)
{
props = new Hashtable<String, Object>();
}
props.put("org.osgi.service.http.port", newport);
config.update(props);
正如你所看到的,我得到了配置对象,更新了属性并调用了更新方法。这一切都很好,但HttpService
由于某种原因没有选择新的配置。我究竟做错了什么?之间我可以使用系统属性方法更改端口。但我希望能够使用ConfigurationAdmin
它来做到这一点。我正在运行Equinox 3.8
容器