- 在启动一个 Spring Boot 项目时,遇到以下错误信息
***************************
APPLICATION FAILED TO START
***************************
Description:
Web server failed to start. Port 5566 was already in use.
Action:
Identify and stop the process that's listening on port 5566 or configure this application to listen on another port.
问题原因
- Spring Boot 项目使用的的端口 5566 已被占用,错误信息已明确指出
Web server failed to start. Port 5566 was already in use.
处理策略
- 终止占用端口的进程
# 查找占用进程
netstat -ano | findstr 【端口】
# 查看进程 ID 对应的程序
tasklist | findstr 【进程 ID】
# 终止进程
taskkill /PID 【进程 ID】 /F
- 或者,修改 Spring Boot 项目的端口
server:
port: 6677 # 修改为其他未被占用的端口
连带问题
如下,是 Spring Boot 项目在端口被占用后,引发了数据库连接池关闭的连带问题
此问题在端口占用问题被处理后也会得到处理
org.mybatis.spring.MyBatisSystemException
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439)
at jdk.proxy2/jdk.proxy2.$Proxy61.selectOne(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:160)
...
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:153)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
...
Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:83)
at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80)
at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67)
at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337)
...
Caused by: java.sql.SQLException: HikariDataSource HikariDataSource (null) has been closed.
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:96)
at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:159)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:117)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)
...