package org.imixs.marty.workflow; import java.util.logging.Logger; import javax.ejb.EJB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import org.imixs.workflow.ItemCollection; import org.imixs.workflow.engine.WorkflowSchedulerService; /** * This servlet runs during deployment and verifies if a * WorkflowSchedulerService need to be restarted. * * @author rsoika * */ @WebServlet(value = "/setup", loadOnStartup = 1) public class WorkflowSchedulerServlet extends HttpServlet { private static final long serialVersionUID = 1L; private static Logger logger = Logger.getLogger(WorkflowSchedulerServlet.class.getName()); @EJB WorkflowSchedulerService workflowSchedulerService; /** * This method is called on startup. The method verifies if a * workflowScheduler timer exits and restarts the timer service */ @Override public void init() throws ServletException { super.init(); // try to start the scheduler service try { ItemCollection configItemCollection = workflowSchedulerService.loadConfiguration(); if (configItemCollection != null && configItemCollection.getItemValueBoolean("_enabled")) { logger.info("Starting WorkflowScheduler ID='" + configItemCollection.getUniqueID() + "'...."); workflowSchedulerService.start(); } } catch (Exception e) { logger.warning("Error due to start workflowSchedulerService: " + e.getMessage()); } } }