Procedure Habilitation Photographier(Activite : Booleen, Portee : PorteePhotographie = PhotographiePrivee)
La portée de l'instantané est définie par la valeur du paramètre Portee. Cela permet d'inclure dans la photographie les objets transactionnels propres au processus courant, ceux des processus s'exécutant sur la même machine ou ceux s'exécutant sur une machine quelconque de l'Object Requet Broker. Pour plus de précisions, voir la fiche de PorteePhotographie.
Quand l'instantané est pris, la tâche courante ne voit plus que la valeur des objets au moment de la photographie même si d'autres tâches effectuent des modifications qui sont validées avec succès.
Ce principe permet d'avoir des données cohérentes pour faire des calculs cohérents, par exemple en comptabilité.
Pendant une photographie, il n'est pas possible de modifier les objets transactionnels. Si une telle tentative se produit, l'exception ModificationImpossible est envoyée.
S'il y a trop de transactions de réalisées durant la photographie, l'exception PhotographieTropAncienne est envoyée.
Principal
/*******/
Debut
Photographier(Vrai, PhotographiePublique);
/* On prend une photo des donnees pour faire des calculs coherents. Le calcul est susceptible de faire des accès distants sur n'importe quel serveur. */
Photographier(Faux);
/* On lache la photo afin de liberer les ressources. */
...
Fin Principal
- | - | - | - | - | - | - | - | - |