EJB Stateful session beans synchronisieren

Gegenfrage. Macht das Sinn? SFSB sind doch Instanzen pro Client. Demnach sollten da keine konkurrierenden Zugriffe stattfinden, oder?

Gruß
Ollie
 
Ich habe eine Methode, die Prüfungen (mit Datenbank Lese- und Schreibzugriffen) ausführt und dann einen Datensatz anlegt.
Da die Prüfungen sehr kompliziert sind (>100) und dauern mitunter bis zu 10 Sekunden.
Mein Auftraggeber will nun 100% sicher sein, dass diese Prüfungen seriell ablaufen (Mutex) damit das System auch unter hoher Last (mehrere Transaktionen pro Sekunde) funktioniert.
Beispielprüfung ist ein sogenannte Kontingentprüfung, wo von einem Ressourcenpool abgeschöpft wird. D.h. vor dem tatsächlichen Anlegen des Auftrags muss geprüft werden, ob noch genug Ressourcen im Pool vorhanden sind (Ressourcenpool ist quasi ein Zähler, der nicht unter eine gewisse Schwelle gehen darf, also braucht es einen synchronisierten Zugriff auf den Zähler).

Es muss nicht unbedingt für Stateful session Beans gelten, das gleiche Problem hätte ich ja bei stateless session beans auch.
 
machbar ist das. Aber wie Oliver bereits sagte, eine Synchronisation bezogen auf die Beaninstanz hat keine Wirkung.

Das Problem wäre bei stateless beans nicht so gravierend. Da könnte man zumindest ein dirty hack mit "synchronized" über eine Semaphore realisieren. Bei stateful Beans könnte es da schon Probleme geben. Besser realisiert man es jedoch über MBeans. Dann ist es auch gleich Clustersave.

Allerdings schreibst du etwas von Laufzeiten bis zu 10s und dann wieder von mehrere Transaktionen pro Sekunde. Wie passt das zusammen ?
 

Neue Beiträge

Zurück