| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <title>CronTrigger</title> |
| <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style"> |
| <script type="text/javascript" src="../../../script.js"></script> |
| |
| <link rel="shortcut icon" href="/img/jakarta-favicon.ico"> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="CronTrigger"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10}; |
| var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; |
| var altColor = "altColor"; |
| var rowColor = "rowColor"; |
| var tableTab = "tableTab"; |
| var activeTableTab = "activeTableTab"; |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a name="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <a name="navbar.top.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../index-all.html">Index</a></li> |
| <li><a href="../../../help-doc.html">Help</a></li> |
| </ul> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../jakarta/enterprise/concurrent/ContextServiceDefinition.List.html" title="annotation in jakarta.enterprise.concurrent"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../jakarta/enterprise/concurrent/LastExecution.html" title="interface in jakarta.enterprise.concurrent"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../index.html?jakarta/enterprise/concurrent/CronTrigger.html" target="_top">Frames</a></li> |
| <li><a href="CronTrigger.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_top"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip.navbar.top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="subTitle">jakarta.enterprise.concurrent</div> |
| <h2 title="Class CronTrigger" class="title">Class CronTrigger</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li>java.lang.Object</li> |
| <li> |
| <ul class="inheritance"> |
| <li>jakarta.enterprise.concurrent.CronTrigger</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <dl> |
| <dt>All Implemented Interfaces:</dt> |
| <dd><a href="../../../jakarta/enterprise/concurrent/Trigger.html" title="interface in jakarta.enterprise.concurrent">Trigger</a>, <a href="../../../jakarta/enterprise/concurrent/ZonedTrigger.html" title="interface in jakarta.enterprise.concurrent">ZonedTrigger</a></dd> |
| </dl> |
| <hr> |
| <br> |
| <pre>public class <span class="typeNameLabel">CronTrigger</span> |
| extends java.lang.Object |
| implements <a href="../../../jakarta/enterprise/concurrent/ZonedTrigger.html" title="interface in jakarta.enterprise.concurrent">ZonedTrigger</a></pre> |
| <div class="block"><p>Cron-based <a href="../../../jakarta/enterprise/concurrent/Trigger.html" title="interface in jakarta.enterprise.concurrent"><code>Trigger</code></a> implementation, which supports 5 or 6 fields |
| delimited by a single space character, plus a <code>ZoneId</code>. |
| Basic cron syntax is supported. For more advanced scenarios, you can |
| subclass this implementation or combine multiple <code>CronTrigger</code> |
| instances in a <code>Trigger</code> implementation of your own. |
| </p> |
| <table> |
| <caption><b>Cron Expression Fields</b></caption> |
| <tr valign="top"><td>seconds (optional)</td><td>0-59, *. When absent, 0 is assumed</td></tr> |
| <tr valign="top"><td>minutes</td><td>0-59, *</td></tr> |
| <tr valign="top"><td>hours</td><td>0-23, *</td></tr> |
| <tr valign="top"><td>dayOfMonth</td><td>0-31, *, L</td></tr> |
| <tr valign="top"><td>month</td><td>1-12, JAN-DEC, January-December, *</td></tr> |
| <tr valign="top"><td>dayOfWeek</td><td>SUN-SAT, Sunday-Saturday, 0-7, *. |
| 0 and 7 both represent Sunday: 0 to designate the first day of the week, |
| and 7 for consistency with <code>DayOfWeek</code>.</td></tr> |
| </table> |
| <br> |
| <table> |
| <caption><b>Cron Expression Syntax</b></caption> |
| <tr valign="top"><td><code>,</code></td> |
| <td>delimits lists for all fields. For example, <code>MON,WED,FRI</code> or <code>MAY,SEP</code></td></tr> |
| <tr valign="top"><td><code>-</code></td> |
| <td>delimits ranges for all fields. For example, <code>MON-FRI</code> or <code>9-17</code></td></tr> |
| <tr valign="top"><td><code>/</code></td> |
| <td>specifies a repeating increment for all fields except dayOfWeek. |
| For example, <code>6/7</code> for the <code>hours</code> field equates to <code>6,13,20</code>.</td></tr> |
| <tr valign="top"><td><code>#</code></td> |
| <td>specifies an ordinal day of week. For example, |
| <code>FRI#1,SAT#L</code> is the first Friday and last Saturday of the month. |
| <br><code>#</code> cannot be used within ranges (<code>-</code>) and increments (<code>/</code>).</td></tr> |
| <tr valign="top"><td><code>*</code></td> |
| <td>indicates any value is permitted.</td></tr> |
| <tr valign="top"><td><code>L</code></td> |
| <td>indicates the last day of the month. |
| <code>2L</code> indicates the second-to-last day, and so forth.</td></tr> |
| </table> |
| <br> |
| <table> |
| <caption><b>Cron Expression Examples</b></caption> |
| <tr valign="top"><td><code>0 * * * *</code></td> |
| <td>every hour at the top of the hour</td></tr> |
| <tr valign="top"><td><code>0 9-17 * * MON-FRI</code></td> |
| <td>weekdays from 9am to 5pm, at the top of each hour</td></tr> |
| <tr valign="top"><td><code>0 13/3 * MAY-SEP SAT,SUN</code></td> |
| <td>weekends from May to September, every 3 hours, starting at 1pm</td></tr> |
| <tr valign="top"><td><code>30 10 * APR,AUG TUE#2,TUE#L</code></td> |
| <td>second and last Tuesdays of April and August at 10:30am</td></tr> |
| <tr valign="top"><td><code>15 22 4 10,20,L * *</code></td> |
| <td>4:22:15 AM on the 10th, 20th, and last day of every month</td></tr> |
| <tr valign="top"><td><code>0 8-11,13-16 2L JAN-MAR *</code></td> |
| <td>8AM-11AM and 1PM-4PM on the second-to-last day of January, February, and March</td></tr> |
| </table> |
| <p>A constructor is provided that accepts a cron expression such as the above and a timezone id. For example, |
| <pre> |
| trigger = new CronTrigger("0 7 * SEP-MAY MON-FRI", ZoneId.of("America/New_York")); |
| </pre> |
| <p>Another constructor allows cron fields to be specified in a fluent manner, in any order. For example, |
| <pre> |
| trigger = new CronTrigger(ZoneId.of("America/Los_Angeles")) |
| .months(Month.DECEMBER) |
| .daysOfMonth(24) |
| .hours(16, 18); |
| </pre> |
| <p> |
| The <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#getNextRunTime-jakarta.enterprise.concurrent.LastExecution-java.time.ZonedDateTime-"><code>getNextRunTime</code></a> method of this trigger |
| determines the next run time based on the cron schedule. |
| The <a href="../../../jakarta/enterprise/concurrent/ZonedTrigger.html#skipRun-jakarta.enterprise.concurrent.LastExecution-java.time.ZonedDateTime-"><code>skipRun</code></a> method always returns false |
| unless overridden by a subclass. |
| <p> |
| Methods of this class that configure the cron expression fields are not thread safe. It is the |
| responsibility of the caller to ensure that initialization of the <code>CronTrigger</code> |
| happens before it is supplied to a <a href="../../../jakarta/enterprise/concurrent/ManagedScheduledExecutorService.html" title="interface in jakarta.enterprise.concurrent"><code>ManagedScheduledExecutorService</code></a> and that the |
| <code>CronTrigger</code> is not subsequently modified. |
| <p> |
| You can subclass <code>CronTrigger</code> to provide for more complex logic, such as in the following |
| example of combining two triggers to schedule twice-a-month payroll on the 15th and last day of month |
| or the prior Fridays when the former fall on a weekend: |
| <pre> |
| public class PayrollTrigger extends CronTrigger { |
| private final CronTrigger fridaysBeforeWeekendPayrollDay; |
| |
| PayrollTrigger() { |
| // Every 15th and last day of the month that is a weekday, |
| super("0 10 15,L * MON-FRI", ZoneId.of("America/Chicago")); |
| |
| // Every 13th, 14th, third-to-last, and second-to-last day of the month that is a Friday, |
| fridaysBeforeWeekendPayrollDay = new CronTrigger( |
| "0 10 13,14,3L,2L * FRI", getZoneId()); |
| } |
| |
| public ZonedDateTime getNextRunTime(LastExecution lastExec, ZonedDateTime scheduledAt) { |
| ZonedDateTime time1 = super.getNextRunTime(lastExec, scheduledAt); |
| ZonedDateTime time2 = fridaysBeforeWeekendPayrollDay.getNextRunTime(lastExec, scheduledAt); |
| return time1.isBefore(time2) ? time1 : time2; |
| } |
| } |
| </pre></div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>3.0</dd> |
| </dl> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor.summary"> |
| <!-- --> |
| </a> |
| <h3>Constructor Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colOne" scope="col">Constructor and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colOne"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#CronTrigger-java.lang.String-java.time.ZoneId-">CronTrigger</a></span>(java.lang.String cron, |
| java.time.ZoneId zone)</code> |
| <div class="block">Constructor that accepts a cron expression.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colOne"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#CronTrigger-java.time.ZoneId-">CronTrigger</a></span>(java.time.ZoneId zone)</code> |
| <div class="block">Constructor for the fluent configuration pattern.</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.summary"> |
| <!-- --> |
| </a> |
| <h3>Method Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> |
| <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Method and Description</th> |
| </tr> |
| <tr id="i0" class="altColor"> |
| <td class="colFirst"><code><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#daysOfMonth-int...-">daysOfMonth</a></span>(int... d)</code> |
| <div class="block">Configure the day-of-month cron field, overwriting any previous value for day-of-month.</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#daysOfMonth-java.lang.String-">daysOfMonth</a></span>(java.lang.String d)</code> |
| <div class="block">Configure the day-of-month cron field, overwriting any previous value for day-of-month.</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#daysOfWeek-java.time.DayOfWeek...-">daysOfWeek</a></span>(java.time.DayOfWeek... d)</code> |
| <div class="block">Configure the day-of-week cron field, overwriting any previous value for day-of-week.</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#daysOfWeek-java.lang.String-">daysOfWeek</a></span>(java.lang.String d)</code> |
| <div class="block">Configure the day-of-week cron field, overwriting any previous value for day-of-week.</div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>java.time.ZonedDateTime</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#getNextRunTime-jakarta.enterprise.concurrent.LastExecution-java.time.ZonedDateTime-">getNextRunTime</a></span>(<a href="../../../jakarta/enterprise/concurrent/LastExecution.html" title="interface in jakarta.enterprise.concurrent">LastExecution</a> lastExecutionInfo, |
| java.time.ZonedDateTime taskScheduledTime)</code> |
| <div class="block">Using the cron schedule, and based on the end of the most recent execution |
| (or absent that, the initial scheduling time), retrieve the next time |
| that the task should run after.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code>java.time.ZoneId</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#getZoneId--">getZoneId</a></span>()</code> |
| <div class="block">Returns the timezone to use for |
| <code>ZonedDateTime</code> that is supplied to the |
| <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#getNextRunTime-jakarta.enterprise.concurrent.LastExecution-java.time.ZonedDateTime-"><code>getNextRunTime</code></a> and |
| <a href="../../../jakarta/enterprise/concurrent/ZonedTrigger.html#skipRun-jakarta.enterprise.concurrent.LastExecution-java.time.ZonedDateTime-"><code>skipRun</code></a> methods.</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#hours-int...-">hours</a></span>(int... h)</code> |
| <div class="block">Configure the hours cron field, overwriting any previous value for hours.</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#hours-java.lang.String-">hours</a></span>(java.lang.String h)</code> |
| <div class="block">Configure the hours cron field, overwriting any previous value for hours.</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#minutes-int...-">minutes</a></span>(int... m)</code> |
| <div class="block">Configure the minutes cron field, overwriting any previous value for minutes.</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#minutes-java.lang.String-">minutes</a></span>(java.lang.String m)</code> |
| <div class="block">Configure the minutes cron field, overwriting any previous value for minutes.</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#months-java.time.Month...-">months</a></span>(java.time.Month... m)</code> |
| <div class="block">Configure the month cron field, overwriting any previous value for month.</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#months-java.lang.String-">months</a></span>(java.lang.String m)</code> |
| <div class="block">Configure the months cron field, overwriting any previous value for months.</div> |
| </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code>protected java.time.ZonedDateTime</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#next-java.time.ZonedDateTime-">next</a></span>(java.time.ZonedDateTime from)</code> |
| <div class="block">Advance to the next date/time according to the cron schedule.</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#seconds-int...-">seconds</a></span>(int... s)</code> |
| <div class="block">Configure the seconds cron field, overwriting any previous value for seconds.</div> |
| </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#seconds-java.lang.String-">seconds</a></span>(java.lang.String s)</code> |
| <div class="block">Configure the seconds cron field, overwriting any previous value for seconds.</div> |
| </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code>java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#toString--">toString</a></span>()</code> |
| <div class="block">Readable representation of the CronTrigger, which displays fields in list form |
| or with the * character for brevity.</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.Object</h3> |
| <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods.inherited.from.class.jakarta.enterprise.concurrent.ZonedTrigger"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from interface jakarta.enterprise.concurrent.<a href="../../../jakarta/enterprise/concurrent/ZonedTrigger.html" title="interface in jakarta.enterprise.concurrent">ZonedTrigger</a></h3> |
| <code><a href="../../../jakarta/enterprise/concurrent/ZonedTrigger.html#getNextRunTime-jakarta.enterprise.concurrent.LastExecution-java.util.Date-">getNextRunTime</a>, <a href="../../../jakarta/enterprise/concurrent/ZonedTrigger.html#skipRun-jakarta.enterprise.concurrent.LastExecution-java.util.Date-">skipRun</a>, <a href="../../../jakarta/enterprise/concurrent/ZonedTrigger.html#skipRun-jakarta.enterprise.concurrent.LastExecution-java.time.ZonedDateTime-">skipRun</a></code></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a name="CronTrigger-java.lang.String-java.time.ZoneId-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>CronTrigger</h4> |
| <pre>public CronTrigger(java.lang.String cron, |
| java.time.ZoneId zone)</pre> |
| <div class="block">Constructor that accepts a cron expression.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>cron</code> - cron expression.</dd> |
| <dd><code>zone</code> - timezone ID to use for <code>ZonedDateTime</code> that is supplied to |
| <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#getNextRunTime-jakarta.enterprise.concurrent.LastExecution-java.time.ZonedDateTime-"><code>getNextRunTime</code></a> and |
| <a href="../../../jakarta/enterprise/concurrent/ZonedTrigger.html#skipRun-jakarta.enterprise.concurrent.LastExecution-java.time.ZonedDateTime-"><code>skipRun</code></a> methods. |
| Null indicates to use the system default.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="CronTrigger-java.time.ZoneId-"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>CronTrigger</h4> |
| <pre>public CronTrigger(java.time.ZoneId zone)</pre> |
| <div class="block">Constructor for the fluent configuration pattern. |
| Seconds, minutes, and hours default to 0. The remaining fields default to *.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>zone</code> - timezone ID to use for <code>ZonedDateTime</code> that is supplied to |
| <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#getNextRunTime-jakarta.enterprise.concurrent.LastExecution-java.time.ZonedDateTime-"><code>getNextRunTime</code></a> and |
| <a href="../../../jakarta/enterprise/concurrent/ZonedTrigger.html#skipRun-jakarta.enterprise.concurrent.LastExecution-java.time.ZonedDateTime-"><code>skipRun</code></a> methods. |
| Null indicates to use the system default.</dd> |
| </dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="getNextRunTime-jakarta.enterprise.concurrent.LastExecution-java.time.ZonedDateTime-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getNextRunTime</h4> |
| <pre>public java.time.ZonedDateTime getNextRunTime(<a href="../../../jakarta/enterprise/concurrent/LastExecution.html" title="interface in jakarta.enterprise.concurrent">LastExecution</a> lastExecutionInfo, |
| java.time.ZonedDateTime taskScheduledTime)</pre> |
| <div class="block">Using the cron schedule, and based on the end of the most recent execution |
| (or absent that, the initial scheduling time), retrieve the next time |
| that the task should run after.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../jakarta/enterprise/concurrent/ZonedTrigger.html#getNextRunTime-jakarta.enterprise.concurrent.LastExecution-java.time.ZonedDateTime-">getNextRunTime</a></code> in interface <code><a href="../../../jakarta/enterprise/concurrent/ZonedTrigger.html" title="interface in jakarta.enterprise.concurrent">ZonedTrigger</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>lastExecutionInfo</code> - information about the last execution of the task. |
| This value will be null if the task has not yet run.</dd> |
| <dd><code>taskScheduledTime</code> - the date/time at which the |
| <code>ManagedScheduledExecutorService.schedule</code> |
| method was invoked to schedule the task.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the date/time after which the next execution of the task should start.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.time.DateTimeException</code> - if a next time cannot be determined from the cron expression.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getZoneId--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getZoneId</h4> |
| <pre>public final java.time.ZoneId getZoneId()</pre> |
| <div class="block">Returns the timezone to use for |
| <code>ZonedDateTime</code> that is supplied to the |
| <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html#getNextRunTime-jakarta.enterprise.concurrent.LastExecution-java.time.ZonedDateTime-"><code>getNextRunTime</code></a> and |
| <a href="../../../jakarta/enterprise/concurrent/ZonedTrigger.html#skipRun-jakarta.enterprise.concurrent.LastExecution-java.time.ZonedDateTime-"><code>skipRun</code></a> methods.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../jakarta/enterprise/concurrent/ZonedTrigger.html#getZoneId--">getZoneId</a></code> in interface <code><a href="../../../jakarta/enterprise/concurrent/ZonedTrigger.html" title="interface in jakarta.enterprise.concurrent">ZonedTrigger</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>timezone to use for operations on this trigger.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="daysOfMonth-int...-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>daysOfMonth</h4> |
| <pre>public <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a> daysOfMonth(int... d)</pre> |
| <div class="block">Configure the day-of-month cron field, overwriting any previous value for day-of-month.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>d</code> - one or more day numbers ranging from 1 to 31.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this instance.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="daysOfMonth-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>daysOfMonth</h4> |
| <pre>public <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a> daysOfMonth(java.lang.String d)</pre> |
| <div class="block">Configure the day-of-month cron field, overwriting any previous value for day-of-month.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>d</code> - dayOfMonth cron field. For example, <code>15,L</code>.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this instance.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="daysOfWeek-java.time.DayOfWeek...-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>daysOfWeek</h4> |
| <pre>public <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a> daysOfWeek(java.time.DayOfWeek... d)</pre> |
| <div class="block">Configure the day-of-week cron field, overwriting any previous value for day-of-week.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>d</code> - one or more days of the week.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this instance.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="daysOfWeek-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>daysOfWeek</h4> |
| <pre>public <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a> daysOfWeek(java.lang.String d)</pre> |
| <div class="block">Configure the day-of-week cron field, overwriting any previous value for day-of-week.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>d</code> - dayOfWeek cron field. For example, <code>MON-FRI,SAT#L</code>.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this instance.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="hours-int...-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>hours</h4> |
| <pre>public <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a> hours(int... h)</pre> |
| <div class="block">Configure the hours cron field, overwriting any previous value for hours.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>h</code> - one or more hour values ranging from 0 to 23.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this instance.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="hours-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>hours</h4> |
| <pre>public <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a> hours(java.lang.String h)</pre> |
| <div class="block">Configure the hours cron field, overwriting any previous value for hours.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>h</code> - hours cron field. For example, <code>9-17</code> for 9am to 5pm.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this instance.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="minutes-int...-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>minutes</h4> |
| <pre>public <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a> minutes(int... m)</pre> |
| <div class="block">Configure the minutes cron field, overwriting any previous value for minutes.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>m</code> - one or more minute values ranging from 0 to 59.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this instance.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="minutes-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>minutes</h4> |
| <pre>public <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a> minutes(java.lang.String m)</pre> |
| <div class="block">Configure the minutes cron field, overwriting any previous value for minutes.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>m</code> - minutes cron field. For example, <code>5/10</code> for 10 minute intervals |
| starting at 5 minutes after the hour (:05, :15, :25, :35, :45, :55).</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this instance.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="months-java.time.Month...-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>months</h4> |
| <pre>public <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a> months(java.time.Month... m)</pre> |
| <div class="block">Configure the month cron field, overwriting any previous value for month.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>m</code> - one or more months.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this instance.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="months-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>months</h4> |
| <pre>public <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a> months(java.lang.String m)</pre> |
| <div class="block">Configure the months cron field, overwriting any previous value for months.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>m</code> - months cron field. For example, <code>SEP-NOV,FEB-MAY</code>.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this instance.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="seconds-int...-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>seconds</h4> |
| <pre>public <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a> seconds(int... s)</pre> |
| <div class="block">Configure the seconds cron field, overwriting any previous value for seconds.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>s</code> - one or more seconds values ranging from 0 to 59.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this instance.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="seconds-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>seconds</h4> |
| <pre>public <a href="../../../jakarta/enterprise/concurrent/CronTrigger.html" title="class in jakarta.enterprise.concurrent">CronTrigger</a> seconds(java.lang.String s)</pre> |
| <div class="block">Configure the seconds cron field, overwriting any previous value for seconds.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>s</code> - seconds cron field. For example, <code>30</code>.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this instance.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="toString--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>toString</h4> |
| <pre>public java.lang.String toString()</pre> |
| <div class="block">Readable representation of the CronTrigger, which displays fields in list form |
| or with the * character for brevity. |
| <p> |
| For example, |
| <pre>CronTrigger@89abcdef seconds 0, minutes 0, hours 9, *, months 3,6,9,12, SAT#2,SAT#4</pre></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code>toString</code> in class <code>java.lang.Object</code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>readable representation of the parsed cron expression.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="next-java.time.ZonedDateTime-"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>next</h4> |
| <pre>protected java.time.ZonedDateTime next(java.time.ZonedDateTime from)</pre> |
| <div class="block">Advance to the next date/time according to the cron schedule.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>from</code> - the date/time from which to compute the next time.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>next date/time according to the cron schedule, or the original time if it matches.</dd> |
| </dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a name="navbar.bottom"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> |
| <a name="navbar.bottom.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../index-all.html">Index</a></li> |
| <li><a href="../../../help-doc.html">Help</a></li> |
| </ul> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../jakarta/enterprise/concurrent/ContextServiceDefinition.List.html" title="annotation in jakarta.enterprise.concurrent"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../jakarta/enterprise/concurrent/LastExecution.html" title="interface in jakarta.enterprise.concurrent"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../index.html?jakarta/enterprise/concurrent/CronTrigger.html" target="_top">Frames</a></li> |
| <li><a href="CronTrigger.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_bottom"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip.navbar.bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| </body> |
| </html> |