本章描述业务jBPM的业务日历. 业务日历知晓有关业务小时并且用于计算任务和定时器的预期时间.
业务日历可通过加入期限(duration)或日期来计算日期的增加.
14.1. 持续时间(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 ordered
weekday.monday= 9:00-12:00 & 12:30-17:00
weekday.thuesday= 9:00-12:00 & 12:30-17:00
weekday.wednesday= 9:00-12:00 & 12:30-17:00
weekday.thursday= 9:00-12:00 & 12:30-17:00
weekday.friday= 9:00-12:00 & 12:30-17:00
weekday.saturday=
weekday.sunday=
day.format=dd/MM/yyyy
# holiday syntax: <holiday>
# holiday period syntax: <start-day>-<end-day>
# below are the belgian official holidays
holiday.1= 01/01/2005 # nieuwjaar
holiday.2= 27/3/2005 # pasen
holiday.3= 28/3/2005 # paasmaandag
holiday.4= 1/5/2005 # feest van de arbeid
holiday.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= 8
business.week.expressed.in.hours= 40
business.month.expressed.in.business.days= 21
business.year.expressed.in.business.days= 220