gips71 ha scritto:
Utilizzo mysql-connector-java_xxxx.jar come libreria.
Questo ok ma vuol solo dire che il DB è MySQL e stai usando il suo driver JDBC. Ma non hai detto cosa usi, se direttamente la API JDBC oppure una libreria/framework di più alto livello. Comunque da quello che dici sotto, io deduco:
solo JDBC puro (prendi tu la Connection dal DataSource, crei lo Statement, esegui, iteri su ResultSet, ecc...).
gips71 ha scritto:
e con ds.getConnection() recupero la connessione per eseguire le query; ed è proprio in questo comando che restituisce l'errore, penso che ds.getConnection() restituisce null;
Le questioni sono (almeno) due: a) o il connection pool è bacato, non funziona bene, non è configurato bene ecc.. ...... oppure b) il tuo codice usa "male" JDBC.
Se come ho dedotto prima hai usato direttamente JDBC, vuol dire che tutta la gestione dalla Connection in poi è a carico tuo. Vuol dire che il tuo codice deve: creare un Statement/PreparedStatement, eseguire la query, se è una query di SELECT, ottieni un ResultSet, iteri su questo, ecc....
E in tutto questo, devi gestire ACCURATAMENTE le eccezioni e soprattutto i close delle risorse JDBC utilizzate.
Devi arrivare a fare anche il close della Connection. Se c'è un connection pool, il close() sull'oggetto Connection NON "chiude" la connection, semplicemente la fa ritornare al connection pool, pronta per un'altra richiesta.
Quindi: mostra il codice che USA la Connection e vediamo subito ....
P.S. non è impossibile che un connection pool sia bacato o non funzioni bene (nessuno/niente è perfetto) .... ma tra le opzioni a e b, sono più propenso per la b).