最近公司使用spring boot-druid-dubbo的模式开发业务,但是在线下进行实际测试时,发现mysql数据库连接数在一段时间后会被占满,顿时一脸懵逼.
经过测试,连接不释放问题是由于在自己本机对程序进行强制关闭导致的(之前做业务时,直接关闭tomcat,会自动释放与数据库的连接),强制关闭,数据库侧是不知道你程序已经关闭的,所以连接会一直保持,直到到达数据库默认超时时间后连接自动释放。
Spring boot本身是存在shutdown的,经过测试其shutdown方法,关闭程序后数据库连接可以释放。
shutdown配置方法如下:
1) 在pom.xml中增加如下配置:
<!--spring boot 应用关闭的前提配置 --> <dependency> <groupId>org.springframework.boot