gpt4 book ai didi

java - Spring - 如何从 Web 应用程序停止和启动 Web 服务?

转载 作者:行者123 更新时间:2023-11-30 04:01:43 25 4
gpt4 key购买 nike

我想为应用程序管理员创建一个功能,以便能够从前端停止和启动 Web 服务,而无需关闭整个应用程序。

该应用程序还有各种其他需要始终运行的界面、屏幕和作业。仅 Web 服务必须关闭以进行某些数据维护工作,并且需要在完成后再次启动。该网络服务由少数第三方应用程序使用。

应用程序是使用 Spring 3.0.5 构建的。

我需要以某种方式获取 Controller 中的 Web 服务对象(?)并触发停止/启动。

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>

服务

@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC, use = SOAPBinding.Use.LITERAL)
public interface ShipRequestService extends java.rmi.Remote {

WebService methods...
}

最佳答案

最简单的解决方案之一是添加 JMX controlled bean提供网络服务的启动和停止。这个bean可以实现两种类型的控制:

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

关于java - Spring - 如何从 Web 应用程序停止和启动 Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21836548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com