第16章 商务日历
本章描述了jBPM的商务日历。商务日历知道关于业务小时和用于任务和定时器的到期的计算。
商务日历能够通过在基准日期(base datea)上加或减去一个持续时间(duration to)来计算到期日期。如果基准日期被忽略,那么会使用当前('current')日期。
正像提到的那样,到期日期是由持续时间(duration)和基准日期(base date)。如果这个基准日期被忽略,持续时间是相对于计算到期日期时的那个日期(时间)。格式是:
duedate ::= [<basedate> +/-] <duration>
持续时间被指定用绝对时(absolute)或工作时(business)。让我们看下语法:
A duration is specified in absolute or in business hours. Let's look at the syntax:
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,持续时间将作为一个绝对的时间周期来进行解释。
持续时间(duration)被指定绝对(absolute)时或工作(business)时。让我们看下语法:
basedate ::= <EL> +/-
其中的<EL>是任何的JAVA表达式语言表达式,可以解析成一个JAVA Date或Calendar对象。引用其他的对象类型变量,即使一个日期格式的String类型的变量(如'2036-02-12'),也会抛出一个JbpmException异常。
注意:这个基准日期(basedate)支持一个普通定时器、任务上提醒和任务内部定时器的duedate属性。但绝不支持这些元素内部的repeate属性。
下列是所有可能用法的例子:
<timer name="daysBeforeHoliday" duedate="5 business days">...</timer>
<timer name="pensionDate" duedate="#{dateOfBirth} + 65 years" >...</timer>
<timer name="pensionReminder" duedate="#{dateOfPension} - 1 year" >...</timer>
<timer name="fireWorks" duedate="#{chineseNewYear} repeat="1 year" >...</timer>
<reminder name="hitBoss" duedate="#{payRaiseDay} + 3 days" repeat="1 week" />
|
目录org/jbpm/calendar下的jbpm.business.calendar.properties文件指定了哪些是工作时。配置文件可以定制而且修改过的复本能够放置在类路径的根下。
这是在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.tuesday= 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
|
分享到:
相关推荐
jbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3....
jbpm-jpdl-suite-3.2.3安装配置.doc
jbpm-jpdl-suite-3.2.3的安装配置jbpm-jpdl-suite-3.2.3的安装配置
转发zhangym翻译的JBoss_jBPM_jPDL用户开发手册_3.2.3.pdf 共199页 24章。
JBoss+jBPM+jPDL用户开发手册_3.2.3
这个是jbpm-jpdl-3.2.3.zip的server部分,有60多兆, 只要将"jbpm-jpdl-3.2.3(没有server部分).rar"和这个合在一起就是整个的jbpm-jpdl-3.2.3.zip "jbpm-jpdl-3.2.3(没有server部分).rar"在我的另外一个上传资源里面
jbpm-jpdl-suite-3.2.GA.zip
jbpm-jpdl-3.2.3.zip 开源工作流引擎
翻译的英文pdf原版,如果大家觉得翻译的有出入,可以参照英文原版提出意见,我再修改! 博文链接:https://zhangym.iteye.com/blog/226583
jbpm-jpdl-suite-3.2.2.zip 3.2版本画流程图包 jbpm-jpdl-suite-3.2.2.zip 3.2版本画流程图包
这个是jbpm-jpdl-3.2.3的zip,本来这个是85M的zip, 我删除了server 文件夹(这个文件夹有60多M) 这个server部分在我的另外一个资源里面,一般开发用不到这个server文件夹 如果需要的话,就下载不需要积分, 这个没有...
jbpm-jpdl-3.2.3
JBoss+jBPM+jPDL用户开发手册_3.2.3 JPBM 开发指南
工作流插件 activiti-5.15.1 jbpm-4.3 jbpm-4.4 jbpm-jpdl-suite-3.2.3
首先从网站上下载jBPM开发包(jbpm-jpdl-suite-3.2.3.zip),据说现在jBPM3已经升到3.2.6了,而且据说已经推出了jBPM4了。将jbpm-jpdl-suite-3.2.3.zip解压缩后,里面有个\designer文件夹,这个是eclipseIDE的jBPM...
jbpm-jpdl-3.2.3下各文件夹|---db这里都是些sql定义和数据文件,如果改用其它数据库,可以使用这些资源来创建。jBPM默认使用的是内存数据库hsqldb|---deploy用来部署你的应用的包和资源|---designer这里是Eclipse...