在Apache下停止/禁用特定的Web服务

时间:2011-07-20 21:45:37

标签: java linux jboss

我在运行Java SOAP Web服务的Linux上运行jBoss。我通常每天都不处理这些问题,所以不能给出很多细节。 Web服务是系统另一部分的心跳。考虑到系统的设计(我们很快就会改变,希望如此),我们不能让服务器“轮流”来修补它。我想知道是否有一种特定的方法来禁用运行心跳的web服务,同时允许其他Web内容继续?

3 个答案:

答案 0 :(得分:2)

听起来你无法触及WAR,并且没有简单的方法可以在WAR中停止单个服务而无需取消部署或更改代码。这在黑暗中是一个镜头,但您可以在容器级别单独部署Tomcat Valve,它拦截绑定(即匹配URI)心跳Web服务的http请求。如果要重新启用心跳,请取消部署阀门。

它不会停止心跳,但您可以阻止它获取请求。

答案 1 :(得分:0)

如果它位于自己的.war,请从.war移除$tomcat_home/webapps - 该服务将会关闭(其余的将保持不变)。

答案 2 :(得分:0)

如果前面有任何负载均衡器,您可能会暂时阻止该级别的请求。或者,如果可以进行次要代码更改,则可以在properties-service.xml(BLACKOUT_PERIOD_ACTIVE或其他)中引入新属性,并让您在响应之前检查Web服务。如果中断期间处于活动状态,则可以相应地插入逻辑。