Configuración de los valores de tiempo de espera de reintento de solicitud

Con las correlaciones fiables, puede proporcionar un valor de tiempo de espera de reintento en milisegundos a WebSphere eXtreme Scale para las solicitudes de transacción.

Acerca de esta tarea

Puede configurar el valor de tiempo de espera en el archivo de propiedades de cliente o en una sesión. El valor de sesión sustituye el valor de propiedades de cliente. Si el valor se establece en un valor mayor que cero, la solicitud se intenta hasta que se cumple una condición de tiempo de espera o se produce una anomalía permanente. Una anomalía permanente puede ser una excepción DuplicateKeyException. Un valor de cero indica el valor de modalidad fail-fast y eXtreme Scale no intenta de nuevo la transacción después de cualquier tipo de transacción.

Durante la ejecución, el valor de tiempo de espera de transacción se utiliza con el valor de tiempo de espera de reintento, lo que garantiza que el tiempo de espera de reintento no sobrepase el tiempo de espera de transacción.

Existen dos tipos de transacciones: transacciones de confirmación automática y transacciones que utilizan los métodos begin y commit explícitos. Las excepciones válidas de reintento difieren entre los dos tipos de transacciones:
  • Para transacciones a las que se llama en una sesión, se intentan de nuevo las transacciones para las excepciones SystemException de CORBA y TargetNotAvailable de eXtreme Scale.
  • Para transacciones de confirmación automática, se intentan de nuevo las transacciones para las excepciones de disponibilidad de eXtreme Scale y SystemException de CORBA. Estas excepciones incluyen las excepciones ReplicationVotedToRollbackTransactionException, TargetNotAvailable y AvailabilityException.

Las anomalías de la aplicación y otras anomalías permanentes se devuelven inmediatamente y el cliente no intenta de nuevo la transacción. Estas anomalías permanentes incluyen las excepciones DuplicateKeyException y KeyNotFoundException. Utilice el valor fail-fast para que se devuelvan todas las excepciones sin intentar transacciones de nuevo después de cualquier excepción.

Excepciones donde el cliente intenta de nuevo la transacción:
  • ReplicationVotedToRollbackTransactionException (sólo en compromiso automático)
  • TargetNotAvailable
  • org.omg.CORBA.SystemException
  • AvailabilityException (sólo en compromiso automático)
  • LockTimeoutException (sólo en compromiso automático)
  • UnavailableServiceException (sólo en compromiso automático)
Excepciones permanentes, donde la transacción no se vuelve a intentar:
  • DuplicateKeyException
  • KeyNotFoundException
  • LoaderException
  • TransactionAffinityException
  • LockDeadlockException
  • OptimisticCollisionException

Procedimiento