Marcas coherentes y finalizadas
COM+ siempre crea un objeto de contexto antes de activar un objeto transaccional. El objeto de contexto contiene información relacionada con objetos, como su creador y su identificador de transacción. Cada objeto de contexto también contiene una marca coherente y una marca finalizada. Juntas estas marcas determinan el estado del objeto transaccional.
La marca coherente indica que el objeto transaccional es coherente o incoherente. Los detalles específicos de lo que hace que el estado de un objeto sea coherente es para el programador. Cuando una llamada de método establece esta marca en True, el objeto es coherente. False indica que el objeto es incoherente. COM+ establece la marca en True cuando crea una instancia de objeto. Un objeto coherente está listo para continuar con la transacción. Mientras un objeto permanece activo, las llamadas a métodos subsiguientes pueden cambiar repetidamente la marca coherente de True a False y viceversa.
La marca done determina la duración de una transacción. Cuando se devuelve una llamada de método, COM+ inspecciona la marca finalizada. Si el método establece esta marca en True, COM+ desactiva el objeto y anota la marca coherente. Cuando la marca finalizada es False, COM+ no desactiva el objeto ni señala la marca coherente. COM+ establece la marca done en False cuando crea una instancia de objeto.
La marca coherente convierte un voto para confirmar o anular la transacción en la que se ejecuta y la marca finalizada finaliza el voto. COM+ inspecciona la marca coherente cuando la marca finalizada se establece en True en una devolución de llamada de método o cuando el objeto se desactiva. Aunque la marca coherente de un objeto puede cambiar repetidamente dentro de cada llamada de método, solo los últimos recuentos de cambios.
Temas relacionados