zoukankan      html  css  js  c++  java
  • 由于没有发现潜在的递归导致MySQL链接数溢出:MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connec

    DAOProxy的代码:下面代码中红色高亮的就是出问题的地方,DAOFactory中会构造一个PersonDAOProxy,调用listPersons或者addPerson显然会导致递归,从而导致MySQL链接数溢出!将高亮处的代码修改为:dao.listPersons()、dao.addPerson(person)即可!

    public class PersonDAOProxy implements IPersonDAO {
        
        private DatabaseConnection conn = null;
        private IPersonDAO dao = null;
        
        public PersonDAOProxy() throws NamingException, SQLException {
            conn = DatabaseConnection.newInstance();
            dao = new PersonDAOImpl(conn.getConnection());
        }
        
        @Override
        public List<Person> listPersons() throws SQLException {
            List<Person> persons = null;
            try {
                persons = DAOFactory.getIPersonDAOInstance().listPersons();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                conn.close();
            }
            return persons;
        }
        
        @Override
        public void addPerson(Person person) throws SQLException {
            try {
                DAOFactory.getIPersonDAOInstance().addPerson(person);
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                conn.close();
            }
        }
        
    }
  • 相关阅读:
    图论——拓扑排序
    BZOJ 2882 & 后缀数组的傻逼实现
    BZOJ 2626 & KDtree
    Colorado Potato Beetle(CF的某道) & 鬼畜宽搜
    Prime & 反素数plus
    BZOJ 2049 & LCT又一模板
    BZOJ2002 & LCT模板(分块不会搞)
    BZOJ2190 & 欧拉函数
    BZOJ 1053 & 反素数
    POJ2774 & 后缀数组模板题
  • 原文地址:https://www.cnblogs.com/qrlozte/p/3621140.html
Copyright © 2011-2022 走看看