Example usage for com.liferay.portal.kernel.scheduler SchedulerEngineHelperUtil unschedule

List of usage examples for com.liferay.portal.kernel.scheduler SchedulerEngineHelperUtil unschedule

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.scheduler SchedulerEngineHelperUtil unschedule.

Prototype

public static void unschedule(String groupName, StorageType storageType) throws SchedulerException 

Source Link

Usage

From source file:com.liferay.message.boards.service.impl.MBMailingListLocalServiceImpl.java

License:Open Source License

protected void unscheduleMailingList(MBMailingList mailingList) throws PortalException {

    String groupName = getSchedulerGroupName(mailingList);

    SchedulerEngineHelperUtil.unschedule(groupName, StorageType.PERSISTED);
}

From source file:de.uhh.l2g.plugins.util.PortletScheduler.java

License:Open Source License

/**
 * Unschedules Quartz Job but keeps SchedulerEntry in Memory (Scheduler will
 * be not correctly (re)deployed if in state UNSCHEDULED
 * /*ww w .  j  av  a 2 s . c  om*/
 */
public void unschedule() {
    try {
        List<SchedulerResponse> scheduledJobs = SchedulerEngineHelperUtil.getScheduledJobs();
        for (SchedulerResponse resp : scheduledJobs) {
            if (resp.getJobName().equalsIgnoreCase(this.schedulerClassName)) {

                LOG.info("Stopping :" + resp.toString());
                Map<String, Object> map = resp.getMessage().getValues();

                String portletId = "";
                String listenerName = "";

                if (map.containsKey(SchedulerEngine.PORTLET_ID))
                    portletId = map.get(SchedulerEngine.PORTLET_ID).toString();
                if (map.containsKey(SchedulerEngine.MESSAGE_LISTENER_CLASS_NAME))
                    listenerName = map.get(SchedulerEngine.MESSAGE_LISTENER_CLASS_NAME).toString();

                LOG.info("Associated to :" + portletId + " " + listenerName + " " + this.destination);

                TriggerState state = SchedulerEngineHelperUtil.getJobState(resp.getJobName(),
                        resp.getGroupName(), resp.getStorageType());

                if (state != (TriggerState.UNSCHEDULED)) {

                    Thread thread = Thread.currentThread();
                    LOG.info("Thread :" + thread.getContextClassLoader() + thread.toString());

                    LOG.info("Unscheduling :" + this.schedulerClassName + " " + resp.getTrigger().toString());
                    SchedulerEngineHelperUtil.unschedule(schedulerEntry, resp.getStorageType());
                    // TODO: Check Workaround
                    // This removes the SchedulerEntry from Liferay's
                    // Scheduler List so it is not started aditionally on
                    // re-deploy
                    // BUT, removing this entry will also destroy our
                    // Trigger (as Quartz unschedule(), removes the Trigger
                    // from QuartzJob
                    this.removeFromEntries();
                } else {
                    LOG.warn("Scheduler could not be unscheduled beacuse it was in state " + state);
                }
            }
        }

    } catch (SchedulerException e) {
        LOG.warn("Failed to unschedule job" + this.schedulerClassName, e);
    }
}