Ausnahmen dei Zugriffsarten

Im Folgenden sind die Ausnahmen aufgelistet, die als Antwort auf Richtlinien für Zugriffsarten ausgelöst werden.

com.ibm.ws.ejbpersistence.utilpm.OptimisticUpdateFailedException
Wenn eine Aktualisierung unter Optimistic Concurrency fehlschlägt, weil Felder in einer anderen Transaktion zwischen Lade- und Speicheranforderungen geändert wurden, wird eine OptimisticUpdateFailedException ausgelöst, und die Festschreibung schlägt fehl.
com.ibm.ws.ejbpersistence.utilpm.PersistenceManagerException
Wenn die Methode, die die Methode ejbLoad() ausführt, als schreibgeschützt (Read-Only) konfiguriert wurde, dann jedoch im Rahmen der Transaktion, die den Bean-Status geladen hat, Aktualisierungen durchgeführt werden, wird beim Aufruf der Methode ejbStore() eine Ausnahme ausgelöst, und die Transaktion wird zurückgesetzt. Ebenso kann die Methode ejbRemove() nicht in einer Transaktion, die als schreibgeschützt konfiguriert wurde, ausgeführt werden. Wird ein Aktualisierungshinweis auf Methoden von BMP-Entity-Beans (Bean-Managed Persistence) angewendet, führt dies zu demselben Verhalten und der entsprechenden Ausnahme. Das weitergeleitete Ausnahmeobjekt enthält die Nachrichtenzeichenfolge PMGR1103E: Aktualisierung der schreibgeschützten Bean auf Instanzebene "Bean-Name"

Diese Ausnahme wird auch ausgelöst, wenn die angewendete Richtlinie für Zugriffsarten nicht berücksichtigt werden kann, weil eine Finder-, ejbSelect- oder CMR-Accessor-Methode (Container-Managed Relationship) immer ein schreibgeschütztes Ergebnis zurückgibt. Das weitergeleitete Ausnahmeobjekt enthält die Nachrichtenzeichenfolge PMGR1001: Eine derartige DataAccessSpec ist nicht vorhanden - Methodenname

Dieser Fehler tritt am häufigsten auf, wenn ein angepasstes Suchprogramm, das eine EJB-QL-Anweisung (EJB Query Language) enthält, mit der angewendeten Zugriffsart wsPessimisticUpdate oder wsPessimisticUpdate-Exclusive aufgerufen wird. Für diese Richtlinien muss eine USE-AND-KEEP-UPDATE-LOCKS-Klausel für die auszuführende SQL-SELECT-Anweisung verwendet werden, eine schreibgeschützte Abfrage kann USE AND KEEP UPDATE LOCKS jedoch nicht unterstützen. Andere Beispiele für schreibgeschützte Abfrage sind Verknüpfungen, die Verwendung der Schlüsselwörter ORDER BY, GROUP BY und DISTINCT.

Möchten Sie die Ausnahme beheben, ändern Sie die EJB-Abfrage dahingehend, dass nicht automatisch ein schreibgeschütztes Ergebnis zurückgegeben wird. Sie haben auch die Möglichkeit, die angewendete Richtlinie für Zugriffsarten zu ändern.
  • Wenn ein Aktualisierungszugriff erforderlich ist, ändern Sie die Einstellung für die angewendete Zugriffsart in wsPessimisticUpdate-WeakestLockAtLoad oder wsOptimisticUpdate.
  • Wenn der Aktualisierungszugriff nicht erforderlich ist, verwenden Sie wsPessimisticRead oder wsOptimisticRead.
  • Wenn Entity-Beans Verbindungen gemeinsam nutzen müssen, verwenden Sie wsPessimisticUpdate-WeakestLockAtLoad oder wsPessimisticRead.
com.ibm.websphere.ejb.container.CollectionCannotBeFurtherAccessed
Wenn eine Lazy Collection nach Ablauf ihrer Gültigkeit und über den bereits lokal zwischengespeicherten Stand hinaus ausgeführt wird, wird die Ausnahme com.ibm.websphere.ejb.container.CollectionCannotBeFurtherAccessed ausgelöst.
com.ibm.ws.exception.RuntimeWarning
Wenn eine Anwendung falsch konfiguriert wird, wird beim Start der Anwendung eine Ausnahme mit einer Laufzeitwarnung ausgelöst. Der Startvorgang wird beendet. Sie können die Konfiguration einer Anwendung überprüfen, indem Sie die Prüffunktion verwenden. Einige Beispiele der Fehlkonfiguration:
  • Eine Methode wurde mit zwei verschiedenen Richtlinien für Zugriffsarten konfiguriert.
  • Eine Methode wurde mit einer nicht definierten Richtlinie für Zugriffsarten konfiguriert.

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_axiexc
Dateiname:rejb_axiexc.html