Transactions
Lorsque vous utilisez des scripts XML pour créer, mettre à jour ou supprimer des ressources, les changements apportés à la base de données du portail sont groupés en transactions. Tous les changements faisant partie d'une transaction sont exécutés complètement ou pas du tout. La configuration XML possède deux niveaux différents pour grouper les mises à jour de base de données en transactions.
Le groupement est défini par l'attribut transaction-level
de l'élément de demande principal, lequel peut avoir les valeurs suivantes :
- ressource
- Chaque ressource de niveau supérieur du script XML est traité dans une transaction séparée. Il peut par exemple s'agir d'un noeud de contenu et de sa mise en page complète. Si une erreur se produit, toutes les ressources jusqu'à celle où l'erreur est survenue ont été entièrement traitées ; la ressource où l'erreur est survenue n'est pas créée, ou demeure inchangée si elle existait déjà.
- demande
- Tout le script XML est exécuté en une seule transaction. Si une erreur se produit, tous les changements de la base de données provoqués par le script sont annulés et l'état initial est restauré. Notez que l'utilisation de ce niveau de transaction peut provoquer des transactions lourdes et longues dans la base de données s'il est utilisé dans des scripts XML volumineux. Par conséquent, vous risquez de rencontrer des erreurs de base de données provoquées par un dépassement des limites de la durée des transactions dans la base de données ou des limites de taille du journal de transaction, selon la configuration de votre base de données.
- aucun
- Aucune transaction explicite ne sera ouverte pour le traitement. Il s'agit de la valeur par défaut.
Les transactions s'appliquent uniquement aux changements apportés à la base de données du portail. Les aspects suivants des ressources ne sont pas stockés dans la base de données du portail et par conséquent, ne sont pas inclus dans les transactions :
- Applications d'entreprise pour les portlets déployés dans WebSphere® Application Server
- Informations sur les utilisateurs et les groupes
- Attributions de rôles dans un système de contrôle d'accès externe.
Voici un exemple de ce que cela signifie : lorsque vous déployez un fichier WAR dans un script XML utilisant transaction-level="request" et qu'une erreur survient par la suite dans l'exécution du script XML, la transaction est annulée, de sorte que les entrées correspondant au portlet sont supprimées de la base de données du portail. Toutefois, l'application d'entreprise correspondante a déjà été déployée dans WebSphere® Application Server et elle n'est pas supprimée. Cela n'affectera pas davantage le fonctionnement du portail ; vous pouvez simplement déployer de nouveau le portlet plus tard. Vous aurez seulement une application d'entreprise inutilisée dans WebSphere® Application Server. Supprimez-la manuellement.