Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring-如何从web应用程序停止和启动Webserice?_Java_Spring_Web Services_Spring Mvc - Fatal编程技术网

Java Spring-如何从web应用程序停止和启动Webserice?

Java Spring-如何从web应用程序停止和启动Webserice?,java,spring,web-services,spring-mvc,Java,Spring,Web Services,Spring Mvc,我想为应用程序管理员创建一个功能,使其能够在不关闭整个应用程序的情况下从前端停止和启动Web服务 该应用程序还有各种其他接口、屏幕和作业,需要一直运行。为了进行一些数据维护工作,必须单独关闭Web服务,并且需要在完成后重新启动。Web服务被少数第三方应用程序使用 应用程序是用Spring3.0.5构建的 我需要以某种方式在控制器中获取webservice对象(?)并触发停止/启动 spring config.xml <wss:binding url="/wss/shipRequest.ws

我想为应用程序管理员创建一个功能,使其能够在不关闭整个应用程序的情况下从前端停止和启动Web服务

该应用程序还有各种其他接口、屏幕和作业,需要一直运行。为了进行一些数据维护工作,必须单独关闭Web服务,并且需要在完成后重新启动。Web服务被少数第三方应用程序使用

应用程序是用Spring3.0.5构建的

我需要以某种方式在控制器中获取webservice对象(?)并触发停止/启动

spring config.xml

<wss:binding url="/wss/shipRequest.wss">
   <wss:service>
      <ws:service bean="#shipRequestWS">
      </ws:service>
   </wss:service>
</wss:binding>
<bean id="shipRequestWS" class="com.xxx.ShipRequestService">
   <property name="shipRequestBO" ref="shipRequestBO" />
</bean>

对于“轻量级”维护更改,您只需检查服务方法开头的标志,以了解是否应处理请求。例如,此技术广泛用于功能翻转。

最简单的解决方案之一是添加web服务的启动和停止。这个bean可以实现两种类型的控件:

  • 在注入的服务上设置标志。服务可能会在停用状态下引发异常,但需要扩展到此特殊行为
  • web服务可以由一个特殊的子上下文创建,该子上下文将通过激活加载或通过停用停止。可以使用当前上下文作为父上下文,使用
    ClassPathXmlApplicationContext
    创建上下文

谢谢阿恩。我通过ClassPathXmlApplicationContext创建上下文,并且能够启动/停止
@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC, use = SOAPBinding.Use.LITERAL)
public interface ShipRequestService extends java.rmi.Remote {

          WebService methods...
}