建立石英排程程式以顯示一些資訊

為了建立排程程式,需要在中建立條目

liferay-portlet.xml

為排程程式觸發的時間提供排程程式類和觸發值

<portlet-name>GetSetGo</portlet-name>
        <icon>/icon.png</icon>
        <scheduler-entry>
        <scheduler-description>This scheduler logs User count from portal</scheduler-description>
            <scheduler-event-listener-class>com.example.scheduler.SchedulerSample</scheduler-event-listener-class>
            <trigger>
                 <simple>
                   <simple-trigger-value>
                     5
                   </simple-trigger-value>
                <time-unit>minute</time-unit>
            </simple>
            </trigger>
        </scheduler-entry>

給定條目提供

  1. 排程程式說明

  2. 類名,實現 MessageListener 類

  3. 觸發器,提供定義排程程式觸發點的間隔

    - 使用 Cron

    - 使用簡單的觸發值

在給定的示例中,排程程式將在每 5 分鐘後觸發。

接下來我們需要建立排程程式類

package com.example.scheduler;

import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.messaging.Message;
import com.liferay.portal.kernel.messaging.MessageListener;
import com.liferay.portal.kernel.messaging.MessageListenerException;
import com.liferay.portal.service.UserLocalServiceUtil;

public class SchedulerSample implements MessageListener {

    @Override
    public void receive(Message arg0) throws MessageListenerException {
        Log log=LogFactoryUtil.getLog(SchedulerSample.class);
        
        try {
            log.info("User Count for portal:"+UserLocalServiceUtil.getUsersCount());
        } catch (SystemException e) {
            
            log.info("User count is currently unavailable");
        }
        
    }

}

此排程程式僅在伺服器控制檯的每個觸發間隔後顯示輸出門戶使用者計數。