Ne du Printemps JdbcTemplate fermer la connexion si une exception est levée?
Quand le Printemps attrape une SQLException, est-il fermer la déclaration préparée à l'avance, ensemble de résultats, et/ou de la connexion avant de lancer son propre DataAccessException (runtime) exception?
J'ai un développeur qui veut créer une AOP aspect d'attraper les exceptions et les journaux et/ou de fermer la connexion.
@AfterThrowing(pointcut="dataAccessOperation()", throwing="exception")
public void doRecoveryActions(JoinPoint thisJoinPoint, DataAccessException exception) {
//log and/or close connection
}
OriginalL'auteur Adam | 2011-02-23
Vous devez vous connecter pour publier un commentaire.
Oui.
C'est le point de l'ensemble de
JdbcTemplate
- il s'occupe de toutes sortes de passe-partout actions, y compris la libération de toutes les ressources. Voir 12. Accès aux données avec JDBC.Oui, la documentation ne semble pas être très prolixe dans ce cas, mais
JdbcTemplate
prend réellement soin de fermer les connexions dans les cas d'exception (bien que lorsqu'il est utilisé avec le Printemps géré les opérations connexions sont effectivement fermées par des transactio manager, mais il n'a pas d'importance).Dans le cas d'un décoché/runtime exception, jdbctemplate aussi nettoyer et fermer la connexion?
Oui - il va attraper un décoché/runtime exception et de fermer la connexion, mais seulement si cette exception n'est pas pris plus haut dans la pile.
OriginalL'auteur axtavt
Je pense que votre développeurs de prendre un coup d'oeil à les ressorts de transaction managemant capacités. Vous pouvez utiliser l'AOP pour des conseils de journalisation, le comportement de restauration et même réessayer ou d'autres la gestion des exceptions actions de réagir complètement déclarative.
OriginalL'auteur zoidbeck