Hi!
Nehmen wir mal an es geht um Lagerhaltung, wie z.B. in SAP. Für dieses Beispiel gibt es keine Materialnummern, sondern nur ein Werk, dem mehrere Läger zugeordnet sind.
Im EJB-Modul habe ich folgendes eingerichtet:
EB: WerkstbestandEB
EB: LagerbestandEB
SB: BestandsFacadeSB (welche die beiden EBs anspricht)
Die SB hat die beiden Methoden Zugang und Abgang, die man mit den Parametern Werk, Lager und Menge aufruft. Die Methoden erhöhen oder mindern den Lagerbestand und gleichzeitig den Werksbestand. Das sollte möglichst in einer Transaktion passieren.
d.h. Folgendes muß in den Methoden passieren.
1. Lagerbestand ermitteln
2. Lagerbestand erhöhen bzw. mindern
3. Werksbestand ermitteln
4. Werksbestand erhöhen bzw. mindern
A. Wenn ich bei allen Beans das TransactionAttribute auf RequiredNew setze, wird dann folgendes passieren????
Alle 4 Schritte laufen in einer eigenen Transaktion ab und wenn einer dieser Schritte in die Hose geht, dann wird die Transaktion abgebrochen und keiner der 4 Schritte wird ausgeführt. Das alles läuft automatisch ohne, daß ich im JavaCode etwas von einer Transaktion erwähnen muß. Richtig?
B. Wenn ich bei allen Beans das TransactionAttribute auf Required setze, wird dann folgendes passieren????
Zwei User erhöhen gleichzeitig den Bestand. d.h. der zweite User schickt seine Anforderung dann weg, während die erste Transaktion bereits läuft. Die SB sorgt dafür, daß beide Anforderung in einer gemeinsamen Transaktion behandelt werden. Richtig?
Bitte sagt mir ob ich das richtig interpretiert habe?
Danke
Bronks
Nehmen wir mal an es geht um Lagerhaltung, wie z.B. in SAP. Für dieses Beispiel gibt es keine Materialnummern, sondern nur ein Werk, dem mehrere Läger zugeordnet sind.
Im EJB-Modul habe ich folgendes eingerichtet:
EB: WerkstbestandEB
EB: LagerbestandEB
SB: BestandsFacadeSB (welche die beiden EBs anspricht)
Die SB hat die beiden Methoden Zugang und Abgang, die man mit den Parametern Werk, Lager und Menge aufruft. Die Methoden erhöhen oder mindern den Lagerbestand und gleichzeitig den Werksbestand. Das sollte möglichst in einer Transaktion passieren.
d.h. Folgendes muß in den Methoden passieren.
1. Lagerbestand ermitteln
2. Lagerbestand erhöhen bzw. mindern
3. Werksbestand ermitteln
4. Werksbestand erhöhen bzw. mindern
A. Wenn ich bei allen Beans das TransactionAttribute auf RequiredNew setze, wird dann folgendes passieren????
Alle 4 Schritte laufen in einer eigenen Transaktion ab und wenn einer dieser Schritte in die Hose geht, dann wird die Transaktion abgebrochen und keiner der 4 Schritte wird ausgeführt. Das alles läuft automatisch ohne, daß ich im JavaCode etwas von einer Transaktion erwähnen muß. Richtig?
B. Wenn ich bei allen Beans das TransactionAttribute auf Required setze, wird dann folgendes passieren????
Zwei User erhöhen gleichzeitig den Bestand. d.h. der zweite User schickt seine Anforderung dann weg, während die erste Transaktion bereits läuft. Die SB sorgt dafür, daß beide Anforderung in einer gemeinsamen Transaktion behandelt werden. Richtig?
Bitte sagt mir ob ich das richtig interpretiert habe?
Danke
Bronks