Etapa de prueba del modelo tcc
En la fase de prueba, se requiere inspección comercial (consistencia) y reserva de recursos (aislamiento).
El inventario de productos de prueba es 100 y el usuario compró 1 producto. En este momento, el inventario de productos debe verificar el inventario, actualizar la cantidad del inventario y congelar la cantidad de 1 producto. cree un pedido y llame al servicio de pedidos. El estado del pedido cambia a pendiente de confirmación y los recursos reservados se bloquean.
Confirmación Cuando Try se ejecuta normalmente, entrará en la fase de confirmación o cancelación. Cuando el estado del pedido cambie a completado, se ejecutará la lógica dentro de la confirmación y la cantidad -1 se congelará en el. Se liberará la lógica de confirmación y los recursos reservados.
Método:
Una reversión nula realizará una reversión del método cancelar si no se llama al método try o si falla la ejecución del método try. Por ejemplo, si el intento de la transacción local no se ejecuta, lo que provoca que la transacción local de prueba se revierta, no es necesario llamar al método de cancelación para la reversión. En el modelo CC, después de que el intento falla, inevitablemente ingresará la cancelación. fase, lo que resulta en una reversión vacía.
Solución: simplemente determine si ejecutar la operación de prueba antes de ejecutar la lógica de la fase de cancelación. Si se suspende una fase de la operación de prueba y un problema de red provoca un tiempo de espera, el administrador de transacciones activará la segunda fase de reversión y llamará a la operación de cancelación de TCC. En este momento, la llamada de cancelación es exitosa.