KamoCRM

Un tour de widget n'est pas une transaction, donc une lecture avalée ne échoue plus à l'envoi au commit

FixAIService
Expédié
29 septembre 2026 à 01:13 UTC
Auteur
Kamo
Commite
c36f881

SP98-A-9. PublicAiChatService.sendMessage a couru tout le tour du visiteur @Transactionnel. Les titres d'escalade de l'outil de main-off (la version de persona ou l'agent, ou le brief) sont lus à l'intérieur et une lecture ratée est avalée (un hand-off générique fonctionne toujours), mais l'appel de dépôt défaillant avait déjà a marqué le retour de transaction seulement: l'envoi a échoué à commit avec InattenduRollbackException, et le message du visiteur et la réponse étaient En arrière. L'intégration du widget lu, la boucle candidate du routeur et le fournisseur-santé écrire avaler leurs échecs de la même manière, et la transaction a également étendu les appels HTTP du fournisseur (jusqu'à 60 s par tour, plusieurs tours). L'envoi s'exécute maintenant comme le REST du membre et socket tourne déjà, qui exécute le la même orchestration sans transaction : chaque écriture s'engage seule. PublicChatTurnCommitTest exécute le widget derrière ses propres conseils de transaction et chaque dépôt derrière Spring Data, sur un vrai gestionnaire de transactions et un base de données in-memory: avec le brief's ou la version en panne, le visiteur obtient la réponse, la remise est offerte avec sa description générique, et les deux les lignes sont engagées.

Tous les changements

Comme ce que tu vois expédier ?

Tout cela arrive dans votre espace de travail par lui-même. Commencez sur le plan gratuit et relisez cette page dans un mois.

Commencez gratuitement pour toujoursPrix de visualisation