salve ragazzi,
ho letto questo esempiohttp://tomcat.apache.org/tomcat-6.0-...les-howto.html per connettermi al database...tutto ok però dopo un po il server si blocca e nei file log viene lanciata la seguente eccezione java.net.SocketException: Broken pipe...sembrerebbe che la connessione con il database non sia più disponibile cioè le connessioni che dovrebbero essere chiuse (nonostante il close()) rimangono in SLEEP e dopo un certo tempo il database rifiuta nuove connessioni...vi posto una bozza del codice...grazie
Questo è il context.xmlcodice:Connection connection = null; Statement statement = null; ResultSet rs = null; try {Context initContext = new InitialContext(); Context envContext = (Context) initContext.lookup("java:/comp/env"); DataSource dataSource = (DataSource) envContext.lookup("jdbc/testdb"); connection = dataSource.getConnection(); statement = connection.createStatement(); rs= statement.executeQuery("SELECT * FROM login"); rs.next(); System.out.println(""+rs.getString("nome")); rs.close(); rs = null; statement.close(); statement = null; connection.close(); connection = null; } catch (SQLException e) { e.printStackTrace(); } finally { if (rs != null) { try { rs.close(); } catch (SQLException e) { ; } rs = null; } if (statement != null) { try { statement.close(); } catch (SQLException e) { ; } statement = null; } if (connection != null) { try { connection.close(); } catch (SQLException e) { ; } connection = null; } }
Grazie millecodice:<?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jdbc/testdb" auth="Container" type="javax.sql.DataSource" username="user" password="pwd" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/voti" maxActive="50" minIdle="5" testOnBorrow="true" validationQuery="SELECT 1" minEvictableIdleTimeMillis="6000" removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true" /> </Context>![]()

Rispondi quotando
