Le journal de synchronisation, et un run terminal qui est vraiment gelé

Featurekamo-shared-library
Expédié
27 août 2026 à 19:15 UTC
Auteur
Kamo
Commite
1608785

BL1 Tâche 5, moitié partagée. Cinq journal enums, trois entités et trois Repositories sous - Pas de stéréotypes: BillingWormGuard est une classe finale avec un constructeur privé, et SharedLibBeanSafetyTest est vert. Deux améliorations délibérées par rapport à la source de paie: 1. LES DOCUMENTS DE RÉMUN DE LA GÉNATION DU PAYROILLON TERMINAL ET N'ONT PAS (défaut 5). PayrollSyncRun déclare "un terminal n'est jamais réécrit" avec rien derrière. BillingSyncRun l'impose. Le plan précise que le garde est une lecture nue du champ actuel: si (état nul - État - État - BillingSyncRunState.RUNNING) - lancer ... - Cette version est mauvaise et aurait brisé la production. Pré-renforger les incendies APRES l'appelant a muté l'entité, de sorte qu'il voit l'état terminal BillingSyncJournal.complete() vient d'attribuer et refuse celui qui écrit le la ligne existe pour recevoir - complete() lancerait sur chaque course et fermerStaleRuns() sur chaque balayage. La garde est donc comparable à celle de la l'état en tant que LOADED, capturé par un instantané «PostLoad» dans un champ «Transient». A une ligne jamais chargée (une nouvelle ligne) est jugée sur son état actuel, qui maintient le test du plan a un sens. 2. dbNow() (L'écart marqué par l'auto-examen). Payroll lit l'horloge de la base de données à partir de TimecardPunchRepository; InvoicingService n'a pas de table de poinçonnage. Ajouté Query (valeur : « SELECT CAST(now(now() AS timestamp) », nativeQuery : true) le CAST standard SQL, parce qu'un cassant ':' est silencieusement démêlé: Hibernate lit::- comme un préfixe nommé-paramètre et tourne maintenant()::timestampe dans :timamampe. BillingSyncJournal est son seul appelant et le seul véritable écrivain de est levés; les "PrePersist LocalDateTime.now()" sont maintenues en tant que gardes de dernier recours et documentés en tant que tels (défaut 6). Les deux entités WORM sont desservies par les référentiels NARROW étendant Repository, pas JpaRepository, il n'y a donc pas de suppression de lot pour passer au-dessus de 'PreRemove. Preuve de la TDD - RED d'abord (compilation, avant l'existence de l'une des catégories): [ERREUR/ERREUR/ERREUR/ERREUR/ERREUR/ERREUR/ERREUR/ERREUR/ERREUR Symbole [ERREUR: classe BillingSyncIssue Lieu de l'administration de l'environnement (ERREUR) ... 20 autres erreurs "ne peut pas trouver de symbole", FAIT DE CONSTRUCTION GREEN après mise en œuvre: Essais: 7, Défaillances: 0, Erreurs: 0, Écran: 0 Les mutations, chacune d'une copie HEAD d'archives isolée de l'association cible/ et son propre -Dmaven.repo.local (cette caisse est partagée avec d'autres des sessions et une suite rouge ici est généralement la phase rouge de quelqu'un d'autre): MUTATION D - force TerminalImmutability's 'throw's 'throw's 'r'est-à-dire le retour' (la mutation des noms de l'étape 6 du plan) : Essais: 7, Défaillances: 2, Erreurs: 0, FONCTIONNEMENT: 0 - FONCTIONNEMENTS java.lang.AssertionError: Attendre un code pour soulever un jetable. à l'adresse suivante: - FONCTIONNEMENTS java.lang.AssertionError: Attendre un code pour soulever un jetable. à l'adresse suivante: MUTATION E - le garde réécrit EXACTEMENT comme le plan le spécifie, c'est-à-dire une nue lire de l'état sans instantané PostLoad. C'est la preuve que le La version du plan est cassée: Essais: 7, Défaillances: 1, Erreurs: 0, Ecrans: 0, FONCTIONNEMENT - FONCTIONNEMENTS java.lang.AssertionError: S'attendre à ce que le code ne soulève pas un coup de main, mais qu'il est pris BillingSyncRun null est SUCECDED et est les preuves d'une course terminée; elle ne peut pas être réécrite. à l'adresse suivante: à l'adresse suivante: MUTATION F et BillingWormGuard.reject a fait un no-op: Tests: 7, Défaillances: 4, Erreurs: 0, Saudé: 0 - Attendre un code pour soulever un projet. - Attendre un code pour soulever un projet. - Attendre un code pour soulever un projet. - Attendre un code pour soulever un projet. Tous trois sont revenus. Suite complète de la bibliothèque suivante: Essais: 2288, Défaillances: 0, Erreurs: 0, Écran: 0 SUCCESSUS DE CONSTRUCTION «version» intacte à 1.6.0. Non poussé - Tâche 9 atterrit DDL d'abord.

Tous les changements

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation