2010-11-30 22 views
1

Dans l'application Spring/Hibernate. l'utilisateur peut envoyer plus que sur demande avec les mêmes données à un compte bancaire. voici le cas: 1ère demande atteint d'abord, banque le servir, retour OK, régler l'état des données du compte local OK; La deuxième demande atteint la deuxième, la banque le sert, renvoie NOK, définit l'état des données du compte local NOK;Gestion de la simultanéité Hibernate avec le service Web distant

Maintenant, l'état des données de notre compte local est NOK, bien qu'il soit bien servi. Toutes les suggestions pour ce problème.

+0

Votre question n'est pas très claire. Que signifie "avec les mêmes données"? Vous voulez dire que la même transaction pourrait être transmise plus d'une fois, mais ne devrait être traitée qu'une seule fois? Pourquoi pensez-vous que le compte est «bien servi» si une demande a été rejetée? –

+0

C'est juste un exemple. Les deux pourraient être acceptés. Si le webservice distant renvoie le solde actuel après l'opération d'achat, lorsque je mettrai à jour l'enregistrement cela fera une grande différence. Juste le dernier sera sauvé. –

Répondre

0

A. Assurez-vous que le service Web de réception met en file d'attente les demandes. B. Ne pas effectuer plus de deux exécutions de threads maximum à la fois côté service Web. Cela vous fournira des indices sur la raison pour laquelle le statut est défini sur NOK.

+0

Je ne contrôle pas le côté webservice –

+0

Est-ce que c'est le cas? On dirait que toutes les invocations devraient être base FIFO. – Bitmap

+0

Comment faire cela? –