本章描述业务jBPM的业务日历. 业务日历知晓有关业务小时并且用于计算任务和定时器的预期时间.
业务日历可通过加入期限(duration)或日期来计算日期的增加.
持续时间以绝对的或业务小时指明.语法如下:
<quantity> [business] <unit>
这里 <quantity> 是可被Double.parseDouble(quantity)解析的. <unit> 是{second, seconds, minute, minutes, hour, hours, day, days, week, weeks, month, months, year, years}中之一. 加上可选的指示 business 意味着只有业务小时被计入这个持续时间. 没有指示符 business , 持续时间被解释为绝对的时间间隔.
文件 org/jbpm/calendar/jbpm.business.calendar.properties 指明业务时间 .配置文件可被定制并且修改的副本可以放在classpath的根下.
这是一个业务小时规范样例默认在 jbpm.business.calendar.properties中:
hour.format=HH:mm#weekday ::= [<daypart> [& <daypart>]*]#daypart ::= <start-hour>-<to-hour>#start-hour and to-hour must be in the hour.format#dayparts have to be orderedweekday.monday= 9:00-12:00 & 12:30-17:00weekday.thuesday= 9:00-12:00 & 12:30-17:00weekday.wednesday= 9:00-12:00 & 12:30-17:00weekday.thursday= 9:00-12:00 & 12:30-17:00weekday.friday= 9:00-12:00 & 12:30-17:00weekday.saturday=weekday.sunday=day.format=dd/MM/yyyy# holiday syntax: <holiday># holiday period syntax: <start-day>-<end-day># below are the belgian official holidaysholiday.1= 01/01/2005 # nieuwjaarholiday.2= 27/3/2005 # pasen holiday.3= 28/3/2005 # paasmaandag holiday.4= 1/5/2005 # feest van de arbeidholiday.5= 5/5/2005 # hemelvaart holiday.6= 15/5/2005 # pinksteren holiday.7= 16/5/2005 # pinkstermaandag holiday.8= 21/7/2005 # my birthday holiday.9= 15/8/2005 # moederkesdag holiday.10= 1/11/2005 # allerheiligen holiday.11= 11/11/2005 # wapenstilstand holiday.12= 25/12/2005 # kerstmis business.day.expressed.in.hours= 8business.week.expressed.in.hours= 40business.month.expressed.in.business.days= 21business.year.expressed.in.business.days= 220