如何设置OSGi JAX-RS Whiteboard Service的服务端口?
修改OSGi JAX-RS Whiteboard服务端口的方法
OSGi HTTP Whiteboard的端口由底层HTTP服务实现(如Apache Felix Http Service、Eclipse Equinox Http Service)控制,Whiteboard规范仅定义集成逻辑,端口配置属于底层服务的配置项,具体修改方式如下:
1. 框架配置文件设置
多数OSGi框架支持通过配置文件指定端口:
- 若使用Felix:在
config.properties中添加或修改属性:org.osgi.service.http.port=8081 - 若使用Equinox:在
config.ini中添加或修改相同属性,格式一致。
2. 命令行参数传递
启动框架时直接通过JVM参数指定端口:
- Felix启动命令示例:
java -jar felix.jar -Dorg.osgi.service.http.port=8081 - Equinox启动命令示例:
java -jar org.eclipse.osgi.jar -Dorg.osgi.service.http.port=8081
3. 配置Admin服务动态调整
若环境支持OSGi Configuration Admin服务,可创建PID为org.osgi.service.http的配置,设置port属性为目标端口,这种方式支持运行时动态修改,无需重启框架。
补充说明
OSGi Whiteboard规范140.11提到的“其他方式”,就是指上述针对底层HTTP服务的配置手段——Whiteboard依赖底层服务提供的端口,修改底层服务端口即可同步改变Whiteboard服务的监听端口。
内容的提问来源于stack exchange,提问作者LemongrabThree
相关产品推荐
相关产品推荐

