# WebService Concurrency



## Generic1 (27. Jan 2011)

Hallo,

ich hätte nochmal eine Frage zu WebServices und zwar hab ich in meinem WebService ca. 10 Methoden, welche von verschiedenen Usern aufgerufen werden können, deshal bmuss ich die zugriffe "synchronisieren".
Meine Frage wäre jetzt, wie ihr das machen würdet -> die ganze WS Methode als synchronized deklarieren oder nur die kritischen Teile -> Ich frage deshalb, da es nur in Ausnahmefällen auftreten kann, dass 2 oder mehrere User die gleiche Methode aufrufen.
lg


----------



## Noctarius (27. Jan 2011)

Wieso musst du die Methoden synchronisieren? Ändern sie gemeinsam genutzte Daten?


----------



## Generic1 (27. Jan 2011)

Ja, in den WS- Methoden wird unter anderem über die DAOs auf Datenbankobjekt zugegriffen und dass muss ich dann auf jeden Fal synchronisieren - was mir aber nicht klar ist, wies dann mit der Performance ausschaut, wenn ich gleich die ganzen WS- Methoden synchronisiere.
lg


----------



## mvitz (27. Jan 2011)

Wieso musst du den Datenbankzugriff synchronisieren?

Wenn du den Webservice synchronisierst, dann kann halt immer nur eine Frage nach der nächsten beantwortet werden, d.h. bei zwei gleichzeitigen Abfragen, muss eine warten, bis die andere fertig ist --> langsam.


----------



## Noctarius (27. Jan 2011)

Wieso musst du die Datenbankzugriffe synchronisieren? Wenn dem wirklich so ist (glaub ich nicht), dann ist da definitiv ein Denk- / Programmierfehler im Programm.


----------



## Generic1 (27. Jan 2011)

Kann sein, ist von mir übernommen worden, ich muss also damit leben,
Eine Frage hätte ich noch, kann ich über meine WebService- Methoden in der Session was persistieren oder darf/kann man das überhaupt nicht?

lg


----------



## FArt (28. Jan 2011)

Verwende Transaktionen. Die Datenbank synchronisiert dann die Zugriffe. Setzte die DB auf den passenden Transaktionsisolationslevel, in der Regel ist read commited eine gute Wahl.
Synchronisiere nicht expliztit, wenn das nicht wirklich (in Worten: wirklich) notwendig ist.


----------

