<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>scheduler module in liferay dxp 7.3</title>
  <link rel="self" href="https://uat.liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=121358452" />
  <subtitle>scheduler module in liferay dxp 7.3</subtitle>
  <id>https://uat.liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=121358452</id>
  <updated>2026-10-15T09:46:51Z</updated>
  <dc:date>2026-10-15T09:46:51Z</dc:date>
  <entry>
    <title>RE:  scheduler module in liferay dxp 7.3</title>
    <link rel="alternate" href="https://uat.liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121904448" />
    <author>
      <name>Vinoth Kumar</name>
    </author>
    <id>https://uat.liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121904448</id>
    <updated>2024-10-23T10:39:37Z</updated>
    <published>2023-07-05T12:07:51Z</published>
    <summary type="html">&lt;p&gt;Hello, Refer below code:&lt;/p&gt;
&lt;pre&gt;
&lt;code class="language-java"&gt;import com.liferay.portal.kernel.log.Log;

import com.liferay.portal.kernel.log.LogFactoryUtil;

import com.liferay.portal.kernel.messaging.DestinationNames;

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.kernel.scheduler.SchedulerEngineHelper;

import com.liferay.portal.kernel.scheduler.SchedulerEntry;

import com.liferay.portal.kernel.scheduler.SchedulerEntryImpl;

import com.liferay.portal.kernel.scheduler.SchedulerException;

import com.liferay.portal.kernel.scheduler.Trigger;

import com.liferay.portal.kernel.scheduler.TriggerFactoryUtil;

import com.liferay.portal.kernel.util.GetterUtil;

import java.util.Date;

import java.util.Map;

import org.osgi.service.component.annotations.Activate;

import org.osgi.service.component.annotations.Component;

import org.osgi.service.component.annotations.Deactivate;

import org.osgi.service.component.annotations.Modified;

import org.osgi.service.component.annotations.Reference;

@Component(   immediate = true,

        property = {

            &amp;quot;cron.expression=0 0/1 * 1/1 * ? *&amp;quot; //Occurs every minute

             },

        service = EmailSchedulerPortlet.class    

)

public class EmailSchedulerPortlet implements MessageListener {

private final Log logger = LogFactoryUtil.getLog(EmailSchedulerPortlet.class);

@Reference

    SchedulerEngineHelper _helper;

@Activate

@Modified

    protected void activate(Map&amp;lt;String,Object&amp;gt; properties) throws SchedulerException {

    try {

    String cronExpression =  GetterUtil.getString(properties.get(&amp;quot;cron.expression&amp;quot;), &amp;quot;cronExpression&amp;quot;);

    logger.info(&amp;quot; cronExpression: &amp;quot; + cronExpression);

    String listenerClass = getClass().getName();

    Trigger jobTrigger = TriggerFactoryUtil.createTrigger(listenerClass, listenerClass, new Date(), null, cronExpression);

    SchedulerEntry entry = new SchedulerEntryImpl(listenerClass, jobTrigger);

      _helper.register(this, entry, DestinationNames.SCHEDULER_DISPATCH);

    } catch (Exception e) {

    logger.error(e);

    }

}

@Deactivate

    protected void deactive() {

    _helper.unregister(this);

}

@Override

    public void receive(Message arg0) throws MessageListenerException {

    logger.info(&amp;quot;Hello every minute&amp;quot;);

    //Your Business logic

    }

}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;</summary>
    <dc:creator>Vinoth Kumar</dc:creator>
    <dc:date>2023-07-05T12:07:51Z</dc:date>
  </entry>
  <entry>
    <title>RE: RE:  scheduler module in liferay dxp 7.3</title>
    <link rel="alternate" href="https://uat.liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121745287" />
    <author>
      <name>srini vasulu</name>
    </author>
    <id>https://uat.liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121745287</id>
    <updated>2023-04-24T14:59:23Z</updated>
    <published>2023-04-24T14:59:22Z</published>
    <summary type="html">&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;In Liferay 7.4.3.30 i am implemented same way but still added
  scheduler details in database and it's not running the scheduler based
  on time scheduler.&lt;/p&gt;</summary>
    <dc:creator>srini vasulu</dc:creator>
    <dc:date>2023-04-24T14:59:22Z</dc:date>
  </entry>
  <entry>
    <title>RE:  scheduler module in liferay dxp 7.3</title>
    <link rel="alternate" href="https://uat.liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121362322" />
    <author>
      <name>Scarletake Bwi</name>
    </author>
    <id>https://uat.liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121362322</id>
    <updated>2022-02-16T09:46:36Z</updated>
    <published>2022-02-16T09:46:35Z</published>
    <summary type="html">&lt;p&gt;i want to know it too.&lt;/p&gt;
&lt;p&gt;in current, i use BaseMessageListener.&lt;/p&gt;
&lt;pre&gt;
&lt;code class="language-java"&gt;package com.raritan.ci.srg.scheduler;


@Component(immediate = true, property = { &amp;quot;cron.expression=*/5 * * * * ?&amp;quot; }, 
		service = RecordSyncScheduler.class)
public class RecordSyncScheduler extends BaseMessageListener {
	private static Log LOGGER = LogFactoryUtil.getLog(RecordSyncScheduler.class);
	@Override
	protected void doReceive(Message message) throws Exception {

}
	@Activate
	@Modified
	protected void activate(Map&amp;lt;String, Object&amp;gt; properties) throws SchedulerException {
		try {
			String cronExpression = GetterUtil.getString(properties.get(&amp;quot;cron.expression&amp;quot;), &amp;quot;cronExpression&amp;quot;);
			LOGGER.info(&amp;quot; cronExpression: &amp;quot; + cronExpression);

			String listenerClass = getClass().getName();
			Trigger jobTrigger = TriggerFactoryUtil.createTrigger(listenerClass, listenerClass, new Date(), null, cronExpression);

			SchedulerEntryImpl schedulerEntryImpl = new SchedulerEntryImpl(listenerClass, jobTrigger);
			SchedulerEngineHelperUtil.register(this, schedulerEntryImpl, DestinationNames.SCHEDULER_DISPATCH);

		} catch (Exception e) {
			LOGGER.error(e);
		}
	}

	@Deactivate
	protected void deactive() {
		SchedulerEngineHelperUtil.unregister(this);
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;</summary>
    <dc:creator>Scarletake Bwi</dc:creator>
    <dc:date>2022-02-16T09:46:35Z</dc:date>
  </entry>
  <entry>
    <title>scheduler module in liferay dxp 7.3</title>
    <link rel="alternate" href="https://uat.liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121358451" />
    <author>
      <name>Prathibha hallur</name>
    </author>
    <id>https://uat.liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121358451</id>
    <updated>2022-02-14T17:06:43Z</updated>
    <published>2022-02-11T19:11:10Z</published>
    <summary type="html">&lt;p&gt;Hi ,&lt;/p&gt;
&lt;p&gt;How can I create a scheduler module in liferay dxp 7.3 . Please share
  link to documentation or an example .&lt;/p&gt;
&lt;p&gt;Can you create scheduler class with implements  SchedulerEngine ? 
  and then configure the cron expression?  &lt;/p&gt;
&lt;p&gt;Please pour in your inputs. &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Prathibha&lt;/p&gt;</summary>
    <dc:creator>Prathibha hallur</dc:creator>
    <dc:date>2022-02-11T19:11:10Z</dc:date>
  </entry>
</feed>
