Batch Job Best Practices
when updating many records, flush the Hibernate session frequently to prevent Hibernate from using too much memory and crashing the app (see this thread on the mifos-developer mailing list for more information)
If updating a particular record fails, if possible:
skip the record
provide an error in the log file with essential information about the record
move on to the next record
Note any records (account ids) that could not be handled successfully in the scheduled_tasks table
Use the logger object on the parent getLogger()