Excepciones de intento de acceso

Los siguientes son excepciones que se producen en respuesta a la aplicación de políticas de intento de acceso.

com.ibm.ws.ejbpersistence.utilpm.OptimisticUpdateFailedException
Si no se puede realizar la actualización con la simultaneidad optimista porque los campos han cambiado dentro de otra transacción entre las solicitudes de carga y almacenamiento, se genera una excepción OptimisticUpdateFailedException y la confirmación falla.
com.ibm.ws.ejbpersistence.utilpm.PersistenceManagerException
Si el método que ejecuta el método ejbLoad() se configura como de sólo lectura, pero se realizan actualizaciones dentro de la transacción que cargó el estado del bean, se genera una excepción durante la invocación del método ejbStore(), y la transacción se retrotrae. De la misma manera, el método ejbRemove() no puede ejecutarse satisfactoriamente en una transacción establecida como de sólo lectura. Si se aplica una regla de actualización a los métodos de beans de entidad con persistencia gestionada por bean, se produce el mismo comportamiento y la misma excepción. El objeto de excepción enviado contiene la serie de mensaje PMGR1103E: bean de sólo lectura de nivel de instancia de actualización beanName

Esta excepción también se genera si no se puede reconocer la política de intento de acceso aplicada porque un buscador, ejbSelect o un método accesor CMR (relación gestionada por contenedor) devuelve un resultado inherentemente de sólo lectura. El objeto de excepción enviado contiene la serie de mensaje PMGR1001: No existe DataAccessSpec-methodName

Este error se produce la mayoría de las veces cuando se llama a un buscador personalizado que contiene una sentencia EJB QL (EJB Query Language) de sólo lectura con un intento de acceso aplicado de wsPessimisticUpdate o wsPessimisticUpdate-Exclusive. Estas políticas requieren el uso de una cláusula USE AND KEEP UPDATE LOCKS en la sentencia SQL SELECT para poder ejecutarse, pero una consulta de sólo lectura no da soporte a USE AND KEEP UPDATE LOCKS. Otros ejemplos de consultas de sólo lectura son las uniones; el uso de las palabras clave ORDER BY, GROUP BY y DISTINCT.

Para eliminar la excepción, edite la consulta EJB para que no devuelva un resultado inherentemente de sólo lectura o cambie la política de intento de acceso que se está aplicando.
  • Si se necesita un acceso de actualización, cambie el valor de intento de acceso aplicado a wsPessimisticUpdate-WeakestLockAtLoad o wsOptimisticUpdate.
  • Si no se necesita un acceso de actualización, utilice wsPessimisticRead o wsOptimisticRead.
  • Si se necesita compartir las conexiones entre los beans de entidad, utilice wsPessimisticUpdate-WeakestLockAtLoad o wsPessimisticRead.
com.ibm.websphere.ejb.container.CollectionCannotBeFurtherAccessed
Si se ejecuta una colección poco activa cuando ya no está en el ámbito y más allá de lo que ya ha sido colocado en el almacenamiento intermedio localmente, se genera la excepción CollectionCannotBeFurtherAccessed.
com.ibm.ws.exception.RuntimeWarning
Si se configura incorrectamente una aplicación, se genera una excepción de aviso de tiempo de ejecución cuando se inicia la aplicación; el inicio finaliza. Puede validar la configuración de una aplicación eligiendo la función de verificación. Ejemplos de configuración errónea:
  • Un método configurado con dos políticas de intento de acceso diferentes
  • Un método configurado con una política de intento de acceso no definida

Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_axiexc
File name: rejb_axiexc.html