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

Responder a