有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

spring boot数据源拒绝建立连接,来自服务器的消息:“连接太多”java

我有一个api在mysql中执行几个请求, 我多次启动此方法,错误消息显示连接太多,我每次尝试在执行查询后关闭连接,但这并不能解决我的问题

@PostMapping(value="/checkSql")
    public  ArrayList ExecuteSql(@RequestBody SQLBody sqlBody)  {
        Connection con = null;
        Statement stmt = null;
        ResultSet rs = null;
        ArrayList array = new ArrayList();
        DataSource datatsource = dataSource( sqlBody.getUsername(),sqlBody.getPassword(),sqlBody.getUrl(),sqlBody.getDriver());
        try {

            List<Fonctionnalite> listFonctionalite = findAllMP();
            for( Fonctionnalite item : listFonctionalite) {
                con =  datatsource.getConnection();
                stmt = con.createStatement();
                FileReader fr=new FileReader("C:\\Users\\jihed\\OneDrive\\Bureau\\versionfinalPfe2020\\f2\\"+item.getName()+"\\"+item.getFileChek());    
                int i;    
                StringBuffer sb = new StringBuffer();
                while((i=fr.read())!=-1)  {

               sb.append((char)i);
                }  
                System.out.println(sb);

                fr.close(); 
                rs = stmt.executeQuery(sb.toString());

              ResponseChek check = new ResponseChek(item.getId(),item.getName(),item.getDesscription(),item.getFileActivation(),item.getFilaDesactivation(),item.getFileChek(),1);
              array.add(check);
              if(rs != null) rs.close();
                if(stmt != null) stmt.close();
                if(con != null) con.close();
            }


        } catch (SQLException | IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            try {
                if(rs != null) rs.close();
                if(stmt != null) stmt.close();
                if(con != null) con.close();
                if(datatsource != null) datatsource = null;

            } catch (SQLException e) {
                e.printStackTrace();
            }
    }




        return array;




    }

共 (0) 个答案