我想为应用程序管理员创建一个功能,以便能够在不关闭整个应用程序的情况下从前端停止和启动Web服务。
应用程序具有各种其他需要一直运行的界面,屏幕和作业。单独的Web服务必须关闭以进行一些数据维护工作,并且在完成后需要再次启动。 Web服务很少被第三方应用程序使用。
应用程序是使用Spring 3.0.5构建的。
我需要以某种方式获取控制器中的webservice对象(?)并触发停止/启动。
弹簧-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>
服务
@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC, use = SOAPBinding.Use.LITERAL)
public interface ShipRequestService extends java.rmi.Remote {
WebService methods...
}
答案 0 :(得分:2)
最简单的解决方案之一是添加JMX controlled bean提供Web服务的启动和停止。这个bean可以实现两种类型的控件:
ClassPathXmlApplicationContext
创建上下文。答案 1 :(得分:0)
对于“轻量级”维护更改,您只需检查服务方法开头的标志,以了解是否应该处理请求。例如,此技术广泛用于功能翻转。