Exceptions de tentative d'accès

Les exceptions suivantes sont émises en réponse à l'application des règles de tentative d'accès.

com.ibm.ws.ejbpersistence.utilpm.OptimisticUpdateFailedException
Si dans une situation de concurrence optimiste, une mise à jour n'aboutit pas car les zones ont été modifiées dans une autre transaction entre des demandes de chargement et de stockage, une exception OptimisticUpdateFailedException est émise et la validation n'aboutit pas.
com.ibm.ws.ejbpersistence.utilpm.PersistenceManagerException
Si la méthode qui dirige la méthode ejbLoad() est configurée pour être en lecture seule mais que des mises à jour sont ensuite effectuées dans la transaction qui charge l'état du bean, une exception est émise lors de l'appel de la méthode ejbStore() et la transaction est annulée. De la même façon, la méthode ne peut pas aboutir dans une transaction définie en lecture seule. Si un conseil de mise à jour est appliqué à des méthodes de beans entity avec la persistance gérée par bean, le même comportement et la même exception se produisent. L'objet d'exception transmis contient la chaîne de message PMGR1103E: mise à jour du bean en lecture seule de niveau instance beanName

Cette exception est également émise si la règle de tentative d'accès appliquée ne peut pas être honorée car une méthode finder, ejbSelect ou d'accesseur de relation gérée par conteneur (CMR) renvoie un résultat en lecture seule. L'objet d'exception transmis contient la chaîne de message PMGR1001: DataAccessSpec existant - nomMéthode

L'occurrence la plus courante de cette erreur se produit lorsqu'une méthode finder personnalisée qui contient une instruction EJB QL (EJB Query Language) en lecture seule est appelée avec une tentative d'accès appliquée de wsPessimisticUpdate ou wsPessimisticUpdate-Exclusive. Ces règles requièrent l'utilisation d'une clause USE AND KEEP UPDATE LOCKS au niveau de l'instruction SQL SELECT à exécuter mais la requête en lecture seule ne peut pas prendre en charge USE AND KEEP UPDATE LOCKS. Les autres exemples des requêtes en lecture seule incluent les jointures, l'utilisation des mots clés ORDER BY, GROUP BY et DISTINCT.

Pour éliminer l'exception, modifiez la requête EJB afin qu'elle ne renvoie pas de résultat en lecture seule ou qu'elle change la règle de tentative d'accès appliquée.
  • Si un accès de mise à jour est requis, attribuez la valeur wsPessimisticUpdate-WeakestLockAtLoad ou wsOptimisticUpdate au paramètre de tentative d'accès appliqué.
  • Si l'accès de mise à jour n'est pas vraiment requis, utilisez wsPessimisticRead ou wsOptimisticRead.
  • Si le partage de connexions entre les beans entity est requis, utilisez wsPessimisticUpdate-WeakestLockAtLoad ou wsPessimisticRead.
com.ibm.websphere.ejb.container.CollectionCannotBeFurtherAccessed
Si une collection différée est pilotée une fois qu'elle est hors de portée et qu'elle n'est pas incluse dans les éléments placés en mémoire tampon, une exception CollectionCannotBeFurtherAccessed est émise.
com.ibm.ws.exception.RuntimeWarning
Si une application est configurée de manière incorrecte, une exception d'avertissement d'exécution est émise lors du démarrage de l'application. Le démarrage est arrêté. Vous pouvez valider une configuration d'application en choisissant la fonction de vérification. Parmi les exemples de configuration incorrecte, notons :
  • Une méthode configurée avec deux règles de tentative d'accès différentes
  • Une méthode configurée avec une règle de tentative d'accès non définie

Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_axiexc
Nom du fichier : rejb_axiexc.html