Project

General

Profile

Actions

Bug #391

closed

Report pour synchronisation - form - Gestion explicite des transactions incompatible avec un gestionnaire ou un conteneur transactionnel

Added by Philippe Bazart over 11 years ago. Updated over 11 years ago.

Status:
Closed
Priority:
Normal
Category:
Formulaires XML
Start date:
05/12/2010
Due date:
% Done:

100%

Estimated time:
Navigateur:
Votre version de Silverpeas:
5.1
Système d'exploitation:
Votre base de données:
PostgreSQL
Livraison en TEST:
Livraison en PROD:

Description

Classe GenericRecordSetManager dans com.silverpeas.form.record :

- Modification de la méthode getConnection() par l'utilisation de la méthode utilitaire
DBUtil.makeConnection(String) en lieu et place d'un getConnection sur une DataSource et surtout PLUS
d'UTILISATION de setAutoCommit(false), qui provoque une exception systématique si l'on s'inscrit dans
un contexte transactionnel appelant (soit on a déjà une transaction, soit on n'en a aucune et dans
tous les cas le setAutocommit n'apporte rien, en plus d'être bloquant). Comme on ne peut savoir à l'avance
si l'appel s'inscrit dans une transaction déjà en cours, et que JDBC (et la plupart des bases de données)
ne peut pas gérer des transactions imbriquées ("nested transactions"), la règle communément admise
consiste à se limiter à la seule responsabilité pour laquelle a été conçue une classe ou une méthode
(et cette responsabilité n'est pas de gérer des transactions, mais ici de gérer des données de formulaire).

- La méthode getConnection() n'a pas à être déclarée "synchronized", ce qui peut être coûteux.

- Suppression de tous les appels à Connection.comit() et à la méthode rollbackConnection(), cette
dernière ayant été supprimée pour exactement la même raison que la suppression de l'appel à setAutocommit()
dans le point précédent.

Actions #1

Updated by Philippe Bazart over 11 years ago

  • Status changed from Assigned to Resolved
  • % Done changed from 0 to 100
Actions #2

Updated by Nicolas Eysseric over 11 years ago

  • Category set to Formulaires XML
  • Status changed from Resolved to Closed
  • Votre version de Silverpeas set to 5.1
Actions

Also available in: Atom PDF