User? A golf specialty shop
Startup? User logs in to a website to configure and launch the batch job. After successful start, the JSP page shows a progress indicator, refreshed every 15 minutes.
Code sharing? POSBean ie Point-of-Sales bean is a big (thousands of lines) java component containing business logic for our batch and for other modules.
* parse correlated records from multiple sources including branch POS and membership databases
* calculate loyalty points, redemptions and discounts
* “roaming customers” — need to reference remote data maintained across borders
* sophisticated logic to reconcile conflicts among data sources
Database triggers? i think there were a few types
* input validation triggers
* in-DB logging triggers
Threads? single-threaded. Some kind of singletons. One or more “application/context scope attributes”.
Duration? typically less than an hour for small records
Cancel button on a web page? I think it was supported. I think the thread checks a cancellation flag periodically
Progress indicator? At any time, user can see a progess indicator. The thread updates a flag periodically
Realtime log viewing? At any time, user can view the last x lines of transaction logs
Realtime SQL statement viewing? Similar to log viewing
Schedule? on-demand. no automatic schedule.