Was ist der beste Weg, um diesen Anwendungsfall zu implementieren?JavaEE EntityManager für lange Konversation
Image Ich habe eine EJB A
, die eine Art Top-Business-Prozess-Aufrufer ist. Es ruft andere Bohnen an. Wenn während des Aufrufs anderer Beans eine Ausnahme auftritt, dann möchte ich alles zurücksetzen, was von der A
erledigt wurde.
Ich würde Bild, um den EntityManager einmal in der A
Bohne injizieren und dann an andere Bohnen übergeben. Es gilt als eine gute Praxis?
Dank fot der Spitze. Ich habe schon etwas über das Transaktionsmanagement gelesen. Wenn ich es richtig verstehe, wenn ich die Transaktionsverwaltung verwende, dann ist die Injektion des Entity Managers Controller? So wie wenn ich Bohnen in mein 'A' injiziere, die Transaktionsverwaltung auf' A' spezifiziere und dann den Entity Manager in diese anderen Beans injiziere, dann wird die Injektion durch die Transaktionsverwaltung der 'A'-Bean gesteuert. Habe ich recht? –
Die EntityManager-Injektion wird vom EJB-Container und nicht von der Transaktion gesteuert. Sie müssen EntityManager nicht an andere Beans übergeben, die A verwendet. Sie sollten EntityTManager wiederum beim Erstellen in den Container injizieren, es sei denn, Sie erstellen diese Beans manuell im Code über das Schlüsselwort "new". – tsolakp