Een Connection
behouden voor altijd openen is een heel slecht idee. Het heeft geen eindeloze levensduur, uw toepassing kan crashen wanneer de DB de verbinding verbreekt en sluit. Best practice is om en . te verwerven sluit Connection
, Statement
en ResultSet
in de kortste mogelijke reikwijdte om bronlekken en mogelijke applicatiecrashes veroorzaakt door de lekken en time-outs te voorkomen.
Aangezien het verbinden van de database een dure taak is, kunt u overwegen een verbindingspool te gebruiken om de verbindingsprestaties te verbeteren. Een degelijke applicatieserver/servletcontainer biedt meestal al een verbindingspoolfunctie in de vorm van een JNDI DataSource
. Raadpleeg de bijbehorende documentatie voor meer informatie over het maken ervan. In het geval van bijvoorbeeld Tomcat kun je het hier vinden.
Zelfs als u een verbindingspool gebruikt, moet u nog steeds de juiste JDBC-code schrijven:verkrijg en sluit alle middelen in de kortst mogelijke omvang. De verbindingspool zal zich op zijn beurt zorgen maken over het daadwerkelijk sluiten van de verbinding of het gewoon teruggeven aan de pool voor verder hergebruik.
Mogelijk krijgt u wat meer inzicht in dit artikel hoe u de JDBC-basisprincipes op de juiste manier kunt doen. Leer als een heel ander alternatief EJB en JPA. Het zal alle JDBC-boilplates voor je abstraheren in oneliners.
Ik hoop dat dit helpt.
Zie ook:
- Is het veilig om een statische java.sql.Connection-instantie te gebruiken in een multithreaded systeem?
- Gebruik ik JDBC Connection Pooling?
- Hoe moet ik verbinding maken met de JDBC-database / gegevensbron in een op servlet gebaseerde toepassing?
- Wanneer is het nodig of handig om Spring of EJB3 of allemaal samen te gebruiken?