[hibernate-dev] Is there any specific reason for not removing any successful action from the action list in ActionQueue executeActions

Pavitar Singh pavitar.singh at gmail.com
Thu Mar 26 04:04:44 EDT 2009


Hi

Is there any specific reason for not removing any successful action from the
action list.

In Method of class org.hibernate.engine.ActionQueue

    private void executeActions(List list) throws HibernateException {
        int size = list.size();
        for ( int i = 0; i < size; i++ ) {
            execute( (Executable) list.get(i) );
        }
        list.clear();
        session.getBatcher().executeBatch();
    }

Why is list being cleared in one go rather then removing after every action.
something like this


    private void executeActions(List list) throws HibernateException {
       for(Iterator actionIter = list.iterator();actionIter.hasNext();){
              execute( (Executable) actionIter .next());
              actionIter.remove();
        }
        session.getBatcher().executeBatch();
    }


Reasons i am facing issues due to this is following:

For Example in ActionQueue i have three  EntityUpdateAction and my Entity is
versioned

and my 3rd EntityUpdateAction Fails and say i can recover from this failure
programmatically and i try to flush again. This time even my first Action
will fail as it would have already updated Version No.

And even theoretically why will i want to retry a Successful Action.

I think after action is successfully executed it should be removed from the
list.

Regards
Pavitar


-- 
Pavitar Singh
Blog: http://blog.webscale.co.in
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/hibernate-dev/attachments/20090326/0488baaf/attachment.html 


More information about the hibernate-dev mailing list