Bug #395
ferméReport pour synchronisation - Pas de transactions atomiques pour l'EJB GalleryBm
100%
Description
Descripteur de déploiement EJB META-INF/ejb-jar.xml :
- Gestion transactionnelle requise sur l'EJB session ejb/GalleryBm. Le descripteurs de déploiement de l'EJB
session stipulait explicitement ne pas être transactionnel. Modification de la spécification "NotSupported"
en "Required", afin d'exécuter les méthodes dans une transaction ou d'utiliser systématiquement la transaction
de l'appelant. Certes l'indexation des fichiers est faites en même temps et ne s'inscrit jamais dans une
transaction JDBC (Lucene procède avec des fichiers sur disque). Il ne vaut mieux pas désactiver les transactions
pour seulement garantir une cohérence somme toute relative entre les indexes et les données en base.
La solution est plutôt de procéder à moindre mal comme cela est fait pour les publications ou les nœuds par
exemple (permettre notamment l'indexation dans un second temps en paramétrant l'indexation par un booléen dans
l'appel des méthodes, ce qui n'est pas le cas dans le composant Gallery). Toujours est-il qu'il est beaucoup
moins grave d'avoir des indexes temporairement non cohérents avec les données qu'une base de données qui risque
d'être corrompue définitivement à tout moment (en cas de rollback incomplet; par exemple un rollback sur les
albums mais pas sur les images qui y sont contenues, ce qui qui les rend partiellement disponibles mais dans
aucun album), sans compter le risque de limitation de ressources lors de traitements en masse ou en charge
(nombreuses connexions JDBC distinctes utilisées pour ne pas partager les transactions).
Mis à jour par Anonyme il y a plus de 14 ans
- Statut changé de Assigned à Resolved
- % réalisé changé de 0 à 100
- Votre version de Silverpeas mis à 5.0