Triggering an event a short time(10 minutes) after firing
I need to run a cleanup/recovery process and need to fire the event and have it triggered 10 minutes latter.
Similar to what Nuxeo does with the SchedulerRegistryService.java you could invoke a Quartz job (from your code) that would fire an event that your “clean-up” listener would act on. If you use the Nuxeo service you'll have to use CRON expressions, and you'll have to unregister to stop firing and registered jobs from growing endlessly.
See my recent blog entry for a complete example.