Visualizzazione dei risultati da 1 a 2 su 2

Discussione: JNDI Datasource

  1. #1

    JNDI Datasource

    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

    codice:
    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; } }
    Questo è il context.xml

    codice:
    <?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>
    Grazie mille

  2. #2
    Sto impazzendo
    quando chiudo la connessione questa ritorna al pool che la dovrebbe gestire in base ai parametri settati nel context.xml...perchè ne rimane sempre una attiva???

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.