springboot项目当项目停止时关闭socket端口怎么写
时间: 2023-08-04 21:09:17 浏览: 104
springboot 项目 整合 socket 完整代码 附带客户端服务端代码、可SpringBootTest调试;可直接运行
在Spring Boot项目中,可以使用`@PreDestroy`注解来指定一个方法在该Bean销毁前执行。在该方法中,我们可以关闭Socket端口。
具体步骤如下:
1. 在Socket服务类中定义关闭Socket的方法
```java
public class SocketService {
private ServerSocket serverSocket;
// 省略其它代码
public void closeServerSocket() throws Exception {
if (serverSocket != null && !serverSocket.isClosed()) {
serverSocket.close();
}
}
}
```
2. 在Socket服务类上添加@PreDestroy注解,指定该Bean销毁前执行closeServerSocket方法
```java
@Service
public class SocketService {
private ServerSocket serverSocket;
// 省略其它代码
@PreDestroy
public void destroy() throws Exception {
closeServerSocket();
}
// 省略其它代码
}
```
这样,在Spring Boot应用停止时,会先销毁所有的Bean,然后执行`@PreDestroy`注解指定的方法,从而正确关闭Socket端口。
阅读全文