基于嵌入HttpService
在. _OSGi
Apache Karaf
Tomcat
我们应用程序的某些部分是非OSGi
基于的,直接通过我们的代码响应请求WAR
,而某些部分通过Felix Servlet Bridge
调用Felix
OSGi
容器中的 servlet 来响应请求。我们也在使用Felix
's whiteboard bundle 来实现 servlet 的自动注册。
我们也在使用 中的ActiveMQ
功能Karaf
,它包含Pax Web
在它的控制台中。结果是我们最终得到一个HttpService
来自 的Felix Servlet Bridge
,它与嵌入应用程序服务器集成,另一个HttpService
来自,它在不同的端口上Pax Web
运行它自己的服务器。Jetty
所以,问题是一些初创公司的白板包连接到了Pax Web HttpService
,因此将我们的 servlet 暴露在错误的位置。我们还没有找到一种方法来配置白板包以某种方式请求所需的HttpService
from Servlet Bridge
,并且由于所有涉及的包都是第三方的东西,我们也希望避免更改它们的Java
代码......
解决这个问题的最佳方法是什么?
(为了可维护性,我们更喜欢配置而不是代码,并且我们希望将ActiveMQ
控制台保持在自己的端口上)