Frage

Ist es möglich, die Datenbank Isolationsstufe (dh Serializable, wiederholbare ablesbaren usw.) für einen bestimmten EJB 3 Methodenaufruf zu setzen?

Ich verstehe, dass dies nicht durch die EJB-Spezifikation abgedeckt wird, so Details, wie es zu tun entweder auf eine JBoss oder Glassfish spezifische Art und Weise groß sein würden.

Ich fange den Eindruck, es ist nicht möglich zu erhalten und dass Sie es nur pro Connection Pool festlegen können, welcher eindeutig ist keineswegs eine ideale Lösung.

War es hilfreich?

Lösung

Dies ist in der Tat nicht von der Spezifikation abgedeckt und kann aber durch Anwendungsserver spezifische Deployment-Deskriptoren konfiguriert werden, wenn unterstützt. WebLogic tut zum Beispiel und Sie können Transaktionsisolations bei der Methode Ebene im weblogic-ejb-jar.xml :

  

Beispiel

<transaction-isolation>
  <isolation-level>...</isolation-level>
  <method>
      <description>...</description>
      <ejb-name>...</ejb-name>
      <method-intf>...</method-intf>
      <method-name>...</method-name>
      <method-params>...</method-params>
  </method>
</transaction-isolation>

Ich weiß nicht, ob JBoss oder Glassfish haben ein Äquivalent (ich konnte nicht auf den SupportWLDDInContainers Seite eine Antwort für Glassfish) zu finden.

Als Alternative haben Sie versucht, Connection#setTransactionIsolation(int) in einer EJB-Methode gegeben Verwendung dh Isolation programmatisch zu konfigurieren?

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