I am using a ejb timer in my code as follows:
import org.apache.logging.log4j.Logger;
import javax.annotation.Resource;
import javax.ejb.Schedule;
import javax.ejb.Singleton;
import javax.ejb.Startup;
import javax.inject.Inject;
@Singleton
@Startup
public class Notifier {
@Inject
Logger LOG;
@Resource(mappedName="java:jboss/mail/Default")
private Session mailSession;
@Schedule(minute = "0", hour = "*", persistent = false)
public void notify() {
}
}
I would like to be able to reconfigure the scheduler without having to rebuild and upload the resulting war to the server each time I decide that I need to tweak the schedule.
How do I do this?
You could use a system property and the ScheduleExpression
. Or you could use a programmatic EJB Timer.
Another option would be to use a ManagedScheduledExecutorService
and use a Trigger
to control the next run time. Again you could use a system property or just a configuration file that lives outside the application.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With