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

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

Introduction

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

Prototype

public static void schedule(Trigger trigger, StorageType storageType, String description,
            String destinationName, Object payload, int exceptionsMaxSize) throws SchedulerException 

Source Link

Usage

From source file:com.liferay.alloy.mvc.BaseAlloyControllerImpl.java

License:Open Source License

protected void initMessageListener(String destinationName, MessageListener messageListener,
        boolean enableScheduler) {

    MessageBus messageBus = MessageBusUtil.getMessageBus();

    Destination destination = messageBus.getDestination(destinationName);

    if (destination != null) {
        Set<MessageListener> messageListeners = destination.getMessageListeners();

        for (MessageListener curMessageListener : messageListeners) {
            if (!(curMessageListener instanceof InvokerMessageListener)) {
                continue;
            }/*  w w w.ja v a 2  s  .c o  m*/

            InvokerMessageListener invokerMessageListener = (InvokerMessageListener) curMessageListener;

            curMessageListener = invokerMessageListener.getMessageListener();

            if (messageListener == curMessageListener) {
                return;
            }

            Class<?> messageListenerClass = messageListener.getClass();

            String messageListenerClassName = messageListenerClass.getName();

            Class<?> curMessageListenerClass = curMessageListener.getClass();

            if (!messageListenerClassName.equals(curMessageListenerClass.getName())) {

                continue;
            }

            try {
                if (enableScheduler) {
                    SchedulerEngineHelperUtil.unschedule(getSchedulerJobName(), getMessageListenerGroupName(),
                            StorageType.MEMORY_CLUSTERED);
                }

                MessageBusUtil.unregisterMessageListener(destinationName, curMessageListener);
            } catch (Exception e) {
                log.error(e, e);
            }

            break;
        }
    } else {
        SerialDestination serialDestination = new SerialDestination();

        serialDestination.setName(destinationName);

        serialDestination.open();

        MessageBusUtil.addDestination(serialDestination);
    }

    try {
        MessageBusUtil.registerMessageListener(destinationName, messageListener);

        if (enableScheduler) {
            SchedulerEngineHelperUtil.schedule(getSchedulerTrigger(), StorageType.MEMORY_CLUSTERED, null,
                    destinationName, null, 0);
        }
    } catch (Exception e) {
        log.error(e, e);
    }
}

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

License:Open Source License

protected void scheduleMailingList(MBMailingList mailingList) throws PortalException {

    String groupName = getSchedulerGroupName(mailingList);

    Calendar startDate = CalendarFactoryUtil.getCalendar();

    Trigger trigger = TriggerFactoryUtil.createTrigger(groupName, groupName, startDate.getTime(),
            mailingList.getInReadInterval(), TimeUnit.MINUTE);

    MailingListRequest mailingListRequest = new MailingListRequest();

    mailingListRequest.setCompanyId(mailingList.getCompanyId());
    mailingListRequest.setUserId(mailingList.getUserId());
    mailingListRequest.setGroupId(mailingList.getGroupId());
    mailingListRequest.setCategoryId(mailingList.getCategoryId());
    mailingListRequest.setInProtocol(mailingList.getInProtocol());
    mailingListRequest.setInServerName(mailingList.getInServerName());
    mailingListRequest.setInServerPort(mailingList.getInServerPort());
    mailingListRequest.setInUseSSL(mailingList.getInUseSSL());
    mailingListRequest.setInUserName(mailingList.getInUserName());
    mailingListRequest.setInPassword(mailingList.getInPassword());
    mailingListRequest.setAllowAnonymous(mailingList.getAllowAnonymous());

    SchedulerEngineHelperUtil.schedule(trigger, StorageType.PERSISTED, null,
            DestinationNames.MESSAGE_BOARDS_MAILING_LIST, mailingListRequest, 0);
}

From source file:com.liferay.sync.servlet.SyncServletContextListener.java

License:Open Source License

protected void scheduleDLFileVersionDiffMessageListener() {
    try {//  w  ww .j  a  v a2s  . com
        Calendar calendar = CalendarFactoryUtil.getCalendar();

        CronText cronText = new CronText(calendar, CronText.HOURLY_FREQUENCY,
                PortletPropsValues.SYNC_FILE_DIFF_CACHE_DELETE_INTERVAL);

        Trigger trigger = new CronTrigger(SyncDLFileVersionDiffMessageListener.class.getName(),
                SyncDLFileVersionDiffMessageListener.class.getName(), cronText.toString());

        SchedulerEngineHelperUtil.schedule(trigger, StorageType.MEMORY_CLUSTERED, null,
                SyncDLFileVersionDiffMessageListener.DESTINATION_NAME, null, 0);
    } catch (Exception e) {
        _log.error(e, e);
    }
}