当我尝试连接数据库以进行查询时,发生了异常。 " SQL异常:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:数据源拒绝建立连接,来自服务器的消息:"连接太多"
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
<filter>
<filter-name>encoding-filter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding-filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>/index.jsp</welcome-file>
</welcome-file-list>
答案 0 :(得分:0)
如果您使用MySQL db的本地安装,请使用以下命令检查当前打开的连接数。
mysql> show status like 'Conn%';
mysql> show status like '%onn%';
要使用进程列表:mysql> show processlist;
你可以杀掉不必要的连接。
如果您使用的是其他方维护的数据库服务器,请获取帮助以检查并终止不必要的连接。 mySQL服务器中有属性指定允许的最大连接数。如有必要,你可以增加它。
在Java方面,我认为在完成数据库操作后,你应该在finally块中调用con.close
。我不确定你是否这样做。
答案 1 :(得分:-2)
“连接太多”错误是因为服务器连接的最大连接限制,服务器可以完成,因此服务器无法连接到新客户端。要解决此问题,您需要重新启动数据库服务器。