Nous avons implémenté une application basée sur le socket client pour traiter plusieurs demandes de panier. Chaque jour, nous recevons des milliers de demandes de panier. Pour cela, nous avons implémenté une architecture multi-thread pour traiter les demandes simultanément. Nous utilisons Oracle Connection Pool pour les opérations de base de données et nous définissons une valeur optimale pour la taille du pool de connexions. Conformément à notre processus métier, nous disposons d'une table de base de données principale et nous devons mettre à jour le même ensemble de lignes par plusieurs threads en utilisant plusieurs sessions de connexion simultanément. Maintenant, obtenir des problèmes de verrouillage mort à cause de plusieurs threads va essayer de mettre à jour les données sur les mêmes lignes en utilisant plusieurs sessions de connexion en même temps et nous sommes également d'autres violations de clé primaire sur les tables. Parfois, la base de données est également verrouillée en insérant simultanément les mêmes données dans plusieurs sessions de connexion.Le verrou mortel est en cours de mise à jour de la même base de données dans plusieurs sessions de connexion
S'il vous plaît me suggérer une bonne approche pour gérer les problèmes ci-dessus immédiatement.
Si vous pouviez nous montrer du code, cela aiderait ... En général, si vous devez mettre à jour les mêmes données, ces opérations seront sérialisées ... – Guillaume