Mainly we create a schedular to perform a particular Task in Particular Time repeatedly
without any Action. eg: we need trigger mails daily at particular time or we need to trigger for every 12 hours etc.
The below code is an example for the triggering mails using schedular Step 1: First you want to create a class ( Which is nothing bur your own schedular class) in your portlet inside the "src" folder. ex : i created the schedular class in src folder in the path "com.portal.product.scheduler.Scheduler"
Step 2: Next you want to create a "schedular entry" to that particular portlet inside the liferay- portlet.xml
<liferay-portlet-app> <portlet> <portlet-name>product</portlet-name> <icon>/icon.png</icon> <scheduler-entry> <scheduler-event-listener- class>com.portal.product.scheduler.Scheduler</scheduler-event-listener-class>// path of the schedular class which u created in the first step <trigger> <simple> <simple-trigger-value>12</simple-trigger-value> <time-unit>hour</time-unit> </simple> <cron> <cron-trigger-value> 0 0 8 * * ? * </cron-trigger-value> </cron> </trigger> </scheduler-entry> </portlet> </liferay-portlet-app>
Note: Either you want use <simple>( to run for every 12 hours) or <cron> ( to run in particular ). here i am running the schedular on every day 8'o clock . To know detail about <cron> ( http://www.quartz-scheduler.org/documentation/quartz- 1.x/tutorials/crontrigger , http://www.cronmaker.com/ )
Step 3: U have to write the Business Logic inside the schedular class
Scheduler.java
package com.portal.product.scheduler;
public class Scheduler implements MessageListener{
public void receive(Message message) throws MessageListenerException {
// here u want to write the business logic based upon your requirement dailyMail(); } private void dailyMail() throws SystemException { MailUtil.senddailyEmail();
} }
Some Examples Cron Trigger Values for Quartz Scheduler Expression Meaning 0 0 12 * * ? Fire at 12pm (noon) every day 0 15 10 ? * * Fire at 10:15am every day 0 15 10 * * ? Fire at 10:15am every day 0 15 10 * * ? * Fire at 10:15am every day 0 15 10 * * ? 2005 Fire at 10:15am every day during the year 2005 0 * 14 * * ? Fire every minute starting at 2pm and ending at 2:59pm, every day 0 0/5 14 * * ? Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day 0 0/5 14,18 * * ? Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day 0 0-5 14 * * ? Fire every minute starting at 2pm and ending at 2:05pm, every day 0 10,44 14 ? 3 WED Fire at 2:10pm and at 2:44pm every Wednesday in the month of March. 0 15 10 ? * MON-FRI Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday 0 15 10 15 * ? Fire at 10:15am on the 15th day of every month 0 15 10 L * ? Fire at 10:15am on the last day of every month Expression Meaning 0 15 10 ? * 6L Fire at 10:15am on the last Friday of every month 0 15 10 ? * 6L Fire at 10:15am on the last Friday of every month 0 15 10 ? * 6L 2002-2005 Fire at 10:15am on every last friday of every month during the years 2002, 2003, 2004 and 2005 0 15 10 ? * 6#3 Fire at 10:15am on the third Friday of every month 0 0 12 1/5 * ? Fire at 12pm (noon) every 5 days every month, starting on the first day of the month. 0 11 11 11 11 ? Fire every November 11th at 11:11am. Pay attention to the effects of '?' and '*' in the day-of-week and day-of-month fields! Notes Support for specifying both a day-of-week and a day-of-month value is not complete (you must currently use the '?' character in one of these fields). Be careful when setting fire times between mid-night and 1:00 AM - "daylight savings" can cause a skip or a repeat depending on whether the time moves back or jumps forward.
Python Programming Reference Guide: A Comprehensive Guide for Beginners to Master the Basics of Python Programming Language with Practical Coding & Learning Tips
Learn Python Programming for Beginners: Best Step-by-Step Guide for Coding with Python, Great for Kids and Adults. Includes Practical Exercises on Data Analysis, Machine Learning and More.
Microsoft 365 Guide to Success: 10 Books in 1 | Kick-start Your Career Learning the Key Information to Master Your Microsoft Office Files to Optimize Your Tasks & Surprise Your Colleagues | Access, Excel, OneDrive, Outlook, PowerPoint, Word, Teams, etc.
CODING FOR ABSOLUTE BEGINNERS: How to Keep Your Data Safe from Hackers by Mastering the Basic Functions of Python, Java, and C++ (2022 Guide for Newbies)
Modern Tkinter for Busy Python Developers: Quickly Learn to Create Great Looking User Interfaces for Windows, Mac and Linux Using Python's Standard GUI Toolkit
The Advanced Roblox Coding Book: An Unofficial Guide, Updated Edition: Learn How to Script Games, Code Objects and Settings, and Create Your Own World!
Microsoft Excel Guide for Success: Transform Your Work with Microsoft Excel, Unleash Formulas, Functions, and Charts to Optimize Tasks and Surpass Expectations [II EDITION]