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();
            }
        }
        
    }
  • 相关阅读:
    毕业论文格式
    2018.12.14
    关于百度搜索引擎的优缺点
    2018.12.13
    2018.12.12
    2018.12.11
    2108.12.10
    2018.12.9
    2018.12.8
    2018.12.7
  • 原文地址:https://www.cnblogs.com/qrlozte/p/3621140.html
Copyright © 2011-2022 走看看