J'ai une table avec CREDIT_POINTS. Il a ci-dessous les colonnes.Mise à jour de la table dans un environnement multithread
Copmany Credit points Amount
A 100 50
B 200 94
C 250 80
Plusieurs threads mettront à jour cette table. Il y a une méthode qui lit points de crédit et faire quelques calculs et mettre à jour montant ainsi que points de crédit. Ce calcul prendra beaucoup de temps.
Supposons que le thread A lit et effectue des calculs. En même temps, avant que A réécrive le thread B lit les données de la table pour effectuer des calculs et mettre à jour les données. Ici, je perds les données que le fil A a mis à jour. Dans de nombreux cas, les points de crédit et le montant ne seront pas synchronisés car plusieurs threads lisent et mettent à jour la table.
Une chose que nous pouvons faire ici est d'utiliser une méthode synchronisée. Je pense utiliser la transaction de printemps. Le thread de transaction Spring est-il sécurisé? Quoi d'autre est une bonne option pour cela? Toute aide grandement appréciée.
Remarque: j'utilise ibatis (ORM) et MySQL.
L'utilisation de transaction de printemps a résolu mon problème. Merci aschoerk – user2823355