Hi,
There are several options to do this. The simplest option will be to write a standalone
java program that keeps running 24/7. This will check and if time matches will generate the report.
You can also use schedulers like Quartz to do this.
You can use EJB timers too, but that will be complex and probably overkill for this...