UpsOms.Photographier

Procedure Habilitation Photographier(Activite : Booleen, Portee : PorteePhotographie = PhotographiePrivee)

Description

La procédure Photographier permet respectivement de prendre un instantané des objets transactionnels si le paramètre Activite a pour valeur Vrai ou de lâcher l'instantané si le paramètre Activite a pour valeur Faux. Il peut y avoir au plus un instantané par tâche.

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.

Exemple

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

Voir aussi

IlExistePhotographie pour savoir si une photographie a été demandée par une des tâches.

Traduction

---------