Frage

Mit EJB Entity Beans Sie können die Bohne so konfigurieren, dass, wenn ein Thread Zugriff auf eine EJB-Entity-Bean hat, kann keine anderen Threads die EJB-Bean zugreifen. Der Behälter blockiert andere Threads, bis der Faden mit der Sperre ist mit der Bohne beendet. Gibt es eine „Spring Art und Weise“, dies zu tun? Oder müssen Sie nur die Standard-Java Concurrency Synchronisation Ansätze, dies zu umgehen?

War es hilfreich?

Lösung

Wenn Sie sich beziehen Entitäten-EJB3 vor, dann ist dieses Modell ein wenig gebrochen, und wahrscheinlich nicht wünschen Sie folgende sein. Die gleichzeitige Zugriff auf die gleiche Java-Objekt-Instanz einer persistenten Einheit soll vermieden werden. Stattdessen sollte jeder Thread eine eigene Instanz des Unternehmens aus dem Behälter erhalten.

Der üblicher Ansatz gleichzeitigen Zugriff auf Einheiten zu steuern ist Transaktionen zu verwenden, und lassen Sie die Datenbank mit dem Stamm nehmen. Spring + Hibernate / JPA ist mehr als fähig, diese.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top