[Serializable]
public class YourFlushListener : DefaultFlushEventListener
{
public virtual void OnFlush(FlushEvent @event)
{
try
{
base.OnFlush(@event);
}
catch (StaleStateException ex)
{
throw new DataConcurrencyException(ex.Message, ex);
}
}
}


2011/2/4 Juan Cuello <[email protected]>

> Hola a todos,
>
> Debido a que estamos desarrollando un proyecto con arquitectura
> desacoplada, nos encontramos con un problema en la gestión de
> concurrencia. El problema es que cuando salta una excepción de
> concurrencia StaleStateException, queremos automatizar que en realidad
> se lance una excepción de nuestro framework.
>
> La idea que he tenido es agregar un listener que herede por ejemplo de
> DefaultUpdateEventListener para hacer lo siguiente:
>
>        protected override object
> PerformSaveOrUpdate(NHibernate.Event.SaveOrUpdateEvent @event)
>        {
>            try
>            {
>                return base.PerformSaveOrUpdate(@event);
>            }
>            catch (StaleStateException ex)
>            {
>                throw new DataConcurrencyException(ex.Message, ex);
>            }
>        }
>
> Para la concurrencia, que sólo saltaría en updates (lógicamente), de
> qué clase debo heredar:  DefaultUpdateEventListener,
> DefaultSaveEventListener, DefaultSaveOrUpdateEventListener,
> DefaultSaveOrUpdateCopyEventListener?????
>
> A alguien se le ocurre una forma mejor de hacer esto?
>
> Muchas gracias
>
> --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano




-- 
Fabio Maulo

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a