Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

180
Views
La fuente de datos rechazó el establecimiento de la conexión Java

Error:

 Data source rejected establishment of connection, message from server: "Too many connections" couldn't connect! Apr 14, 2017 10:19:02 AM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [duck.reg.pack.pstcmttc] in context with path [/Duck] threw exception java.lang.NullPointerException

Estoy solicitando información a través de ajax de un servlet.

Código:

 String UDD = null; try { DBConnect Database = new DBConnect(); Connection con = Database.getcon(); String query="SELECT UDD FROM userS WHERE UID=?;"; PreparedStatement ps = con.prepareStatement(query); ps.setString(1, UID); ResultSet rs=ps.executeQuery(); if(rs.next()){ UDD=rs.getString(1); } ps.close(); rs.close(); con.close(); } catch (SQLException e) { e.printStackTrace(); }

Conexión:

 public DBConnect(){ try{ Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost:10021/db?useSSL=false", "root", "PASSWORD"); st = con.createStatement(); }catch(Exception ex){ System.out.println(ex.getMessage()); System.out.println("couldn't connect!"); } } public Connection getcon(){ DBConnect condb = new DBConnect(); Connection connect = con; return con; }

El usuario realiza la solicitud cada vez que hace clic en un botón y luego ajax realiza la solicitud. Mi servlet responde con más información nueva. La primera solicitud realizada a este servlet funciona bien, pero la segunda vez genera esa excepción.

La excepción se lanza en la línea PreparedStatement ps = con.prepareStatement(query);

Según mi búsqueda en Google, descubrí que esto básicamente se debe a una fuga de conexión y podría solucionarse reiniciando el servidor MySql o cambiando su número de puerto. Pero eso no funcionó para mí.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

El error "Demasiadas conexiones" indica que se ha alcanzado el límite de la base de datos de conexiones abiertas. Una solución podría ser configurar el máximo de conexiones permitidas en la base de datos.

Probablemente sería más preferible cerrar correctamente las conexiones después de haberlas usado. Esto se puede hacer de forma segura en un intento... finalmente bloquear de la siguiente manera:

 Connection con; try { con = Database.getcon(); } finally { if (con != null) { con.close(); } }

Como Connection implementa AutoClosable , esto se puede simplificar a través de probar con recursos desde Java7:

 try (Connection con = Database.getcon()) { // implementation }

Cerrar la conexión se ocupa de otros recursos de JDBC, así como de los estados de JavaDoc:

Libera la base de datos de este objeto Connection y los recursos JDBC inmediatamente en lugar de esperar a que se liberen automáticamente.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!