- 浏览: 121530 次
- 性别:
- 来自: 黑龙江
文章分类
最新评论
-
Mr_lee_2012:
总有人无私的奉献着,感谢。。。
BPM jPDL 用户开发手册 3.2.3 (全文pdf) -
sinodragon21:
学习!
工作流之大局势 -
yuzhenling:
楼主大好人啊 大好人
BPM jPDL 用户开发手册 3.2.3 (全文pdf) -
楚天阔:
楼主 我居然下不下来。。。谢谢您分享了这么多好资料
jBPM各版本及新手工具包下载地址 -
bingxinhan_aman:
xiaor186 写道题目是工作流之大趋势,可是我只看到了工作 ...
工作流之大局势
第17章 邮件支持
本章描述了jBPM jPDL中随包发行的邮件支持。
17.1. jPDL中的邮件
从流程中发送邮件有四种指定的方式。
17.1.1. 邮件动作
邮件动作能够用来发送邮件而不是在流程图中显示一个节点。
允许你在在流程的任何地方来指定动作,你可以像这样指定一个邮件动作:
<mail actors="#{president}" subject="readmylips" text="nomoretaxes" /> |
Subject和text属性也能作为一个元素来指定,像这样:
<mail actors="#{president}" > <subject>readmylips</subject> <text>nomoretaxes</text> </mail> |
每个域都可以包含JSF那样的表达式。例如:
<mail to='#{initiator}' subject='websale' text='your websale of #{quantity} #{item} was approved' /> |
更多的关于表达式的信息,查看21.3 表达式部分。
有两个属性用来指定收集人:actors和to。to属性应该解析成一个分号分隔的邮件地址列表。actors属性应该解析成一个分号分隔的actorId的列表。那些actorId将使用地址解析来解析成邮件地址。
<mail to='admin@mycompany.com' subject='urgent' text='the mailserver is down :-)' /> |
更多的关于如何指定收件人的信息,查看17.3 指定收件人部分。
邮件可以定义成模板而且在流程中你可以重写模板的属性,如:
<mail template='sillystatement' actors="#{president}" /> |
更多的关于模板的信息,查看17.4 邮件模板部分。
17.1.2. 邮件节点
就跟邮件动作(mail actions)一样,邮件发送也能被建模成节点。那样的话,运行时行为是相同的,但是邮件将在流程图中显示成一个节点。
邮件节点所支持的属性和元素同邮件动作完全相同。
<mail-node name="send email" to="#{president}" subject="readmylips" text="nomoretaxes"> <transition to="the next node" /> </mail-node> |
邮件节点完全应该有一个离开转换。
17.1.3. 任务分派邮件
当任务获得被分配的参与者时通知邮件能够发送。在一个任务上使用notify="yes"属性,如:
<task-node name='a'> <task name='laundry' swimlane="grandma" notify='yes' /> <transition to='b' /> </task-node> |
设置notify为yes、true或on将导致jBPM给分配到任务上的参与者发送邮件。邮件是基于模板(查看17.4 邮件模板部分)并且包含一个到web应用的任务页面的链接。
17.1.4. 任务提醒邮件
同使用分派(assignments)一样,邮件(emails)能够作为任务提醒被发送。jPDL 中的reminder元素基于定时器。最常用的属性是duedate和repeat。唯一的不同是没有动作(action)指定。
<task-node name='a'> <task name='laundry' swimlane="grandma" notify='yes'> <reminder duedate="2 business days" repeat="2 business hours"/> </task> <transition to='b' /> </task-node> |
17.2. 邮件表达式
域to、recipients、subject和text能够被包含像JSF的表达式。更多的关于表达式的信息,查看21.3表达式部分。
表达式中的变量:swimlanes、 process变量、transient变量beans被配置jbpm.cfg.xml中。
这些表达式能够同本章后面解释的地址解析进行组合。例如:假设在你的流程中有一个swimlane叫president,然后看下面的邮件规范:
<mail actors="#{president}" subject="readmylips" text="nomoretaxes" /> |
那将为特定的流程执行发送邮件到扮演president的那个人。
17.3. 指定收件人
17.3.1. 多个收件人
在actors和to域中,多个收件人可以使用分号(;)或冒号(:)来进行分隔。
17.3.2. 密送邮件
有时除正常的收件人外你还想发送邮件到一个BCC目标。当前,有两个支持的方法:第一你可以在流程定义中指定一个bccActors或bcc属性(根据actors和to)。
<mail to='#{initiator}' bcc='bcc@mycompany.com' subject='websale' text='your websale of #{quantity} #{item} was approved' /> |
第二个方法是总是发送一个BCC邮件到你在中心配置(jbpm.cfg.xml)中的一个属性中配置的某个位置上:
<jbpm-configuration> ... <string name="jbpm.mail.bcc.address" value="bcc@mycompany.com" /> </jbpm-configuration> |
17.3.3. 地址解析
在所有的jBPM中,actors被actorId's引用。这是一个作为流程参与人标识符的字符串。一个地址解析翻译actorId's成为邮件地址。
如果你想应用地址解析使用属性actors而如果你要直接指定邮件地址而不想应用地址解析使用属性to。
一个地址解析器应该实现下列的接口:
public interface AddressResolver extends Serializable { Object resolveAddress(String actorId); } |
一个地址解析器应该返回3个类型中的1个:字符串(String)、字符串集合(Collection of String)或字符串数组(array of String)。
所有字符串应该为给定的 actorId代表邮件地址。
地址解析器实现应该是使用名字jbpm.mail.address.resolver配置在jbpm.cfg.xml中的bean。如:
<jbpm-configuration> ... <bean name='jbpm.mail.address.resolver' class='org.jbpm.identity.mail.IdentityAddressResolver' singleton='true' /> </jbpm-configuration>
|
jBPM的身份构件包括一个地址解析器。那个地址解析器将查找给定actorId的User。如果用户存在,那个用户的邮件被返回,否则为null。更多关于身份构件信息能够在12.11 身份构件中找到。
17.4. 邮件模板
代替在processdefinition.xml中指定邮件,邮件能够指定模板文件中。当一个模板被使用时,processdefinition.xml文件中的每个域仍然能够被覆盖。邮件模板应该在XML文件中像这样来指定:
<mail-templates>
<variable name="BaseTaskListURL" value="http://localhost:8080/jbpm/task?id=" />
<mail-template name='task-assign'> <actors>#{taskInstance.actorId}</actors> <subject>Task '#{taskInstance.name}'</subject> <text><![CDATA[Hi, Task '#{taskInstance.name}' has been assigned to you. Go for it: #{BaseTaskListURL}#{taskInstance.id} Thanks. ---powered by JBoss jBPM---]]></text> </mail-template>
<mail-template name='task-reminder'> <actors>#{taskInstance.actorId}</actors> <subject>Task '#{taskInstance.name}' !</subject> <text><![CDATA[Hey, Don't forget about #{BaseTaskListURL}#{taskInstance.id} Get going ! ---powered by JBoss jBPM---]]></text> </mail-template>
</mail-templates> |
像你在这个例子(BaseTaskListURL)中看到的一样,extra变量能够定义在邮件模板中,它在表达式中是有效的。
包含模板的资源应该在jbpm.cfg.xml中像这样进行配置:
<jbpm-configuration> ... <string name="resource.mail.templates" value="jbpm.mail.templates.xml" /> </jbpm-configuration> |
17.5. 邮件服务器配置
最简单的配置邮件服务器的方法在jbpm.cfg.xml文件中使用jbpm.mail.smtp.host这个配置属性,如:
<jbpm-configuration> ... <string name="jbpm.mail.smtp.host" value="localhost" /> </jbpm-configuration> |
作为选择,当更多的属性需要被指定时,应该用关键字' resource.mail.properties '给定资源引用的属性文件,如:
<jbpm-configuration> ... <string name='resource.mail.properties' value='jbpm.mail.properties' /> </jbpm-configuration> |
17.6. From地址配置
jPDL邮件中From地址的缺省值使用的是jbpm@noreply。邮件的from地址可以在jBPM的配置文件jbpm.xfg.xml中使用关键字'jbpm.mail.from.address'来配置,如:
<jbpm-configuration> ... <string name='jbpm.mail.from.address' value='jbpm@yourcompany.com' /> </jbpm-configuration> |
17.7. 自定义邮件支持
jBPM中所有的邮件支持是以一个类为中央的:org.jbpm.mail.Mail,这是一个ActionHandler实现。无论何时邮件在流程xml中指定,都将代理到邮件类。它可能继承自Mail类然后再为你的特殊需求定制某些功能。为了配置你的类使用邮件代理,在jbpm.cfg.xml文件中像这样来指定'jbpm.mail.class.name'配置字符串:
<jbpm-configuration> ... <string name='jbpm.mail.class.name' value='com.your.specific.CustomMail' /> </jbpm-configuration> |
定制的mail类在解析期间被读取并且动作将在引用配置了(或缺省的)邮件类名的流程中被配置。所以如果你改变这个属性,所有已经部署的流程将仍然引用旧的邮件名。但他们将能够通过使用一条简单的update语句很容易地被更新到jbpm数据库。
17.8. 邮件服务器
如果你需要一个易于安装的邮件服务器,那么就检出JBossMail Server 或 Apache James吧。
:-s
发表评论
-
BPM jPDL 用户开发手册 3.2.3 (全文pdf)
2008-10-16 12:58 8943最近太忙了,实在没有时间详细校稿,应大家要求,现在在将全文转为 ... -
jBPM jPDL 用户开发手册 3.2.3 - 第24章
2008-09-27 08:35 2488第24章 可插拨架构 jBPM功能特性分裂成模块。每个模块都有 ... -
jBPM jPDL 用户开发手册 3.2.3 - 第23章
2008-09-27 08:31 1475第23章 工作流的TDD文件 23.1.工作流TDD介绍 既然 ... -
jBPM jPDL 用户开发手册 3.2.3 - 第22章
2008-09-27 08:30 1933第22章 安全 jBPM的安全属性还处于alpha阶段。本章归 ... -
jBPM jPDL 用户开发手册 3.2.3 - 第21章
2008-09-27 08:27 1836第21章 jBPM流程定义语言(JPDL) JPDL指定一个X ... -
jBPM jPDL 用户开发手册 3.2.3 - 第20章
2008-09-23 09:04 1785第20章 业务流程仿真 jBPM包含一个仿真组件,这个是jB ... -
jBPM jPDL 用户开发手册 3.2.3 - 第19章
2008-09-23 09:00 1927第19章 日志 日志的目标是保持追踪流程执行的历史。在运行时 ... -
jBPM jPDL 用户开发手册 3.2.3 - 第18章
2008-09-23 08:59 2029第18章 Web Services支持 本章描述了jBPM ... -
jBPM jPDL 用户开发手册 3.2.3 - 第16章
2008-09-23 08:22 1619第16章 商务日历 本章描述了jBPM的商务日历。商务日历知道 ... -
jBPM jPDL 用户开发手册 3.2.3 - 第15章
2008-09-23 08:20 2046第15章 异步连续 15.1. ... -
工作流之大局势
2008-09-22 08:49 32981. 从奴隶社会到封建后期 工作流(WorkFlow)的概 ... -
jBPM jPDL 用户开发手册 3.2.3 - 第12章
2008-09-12 15:06 2727第12章 任务分配 jBPM的 ... -
jBPM jPDL 用户开发手册 3.2.3 - 第14章
2008-09-04 13:02 171214章 定时器 本章描述了jBPM如何和定时器工作一起工作。 ... -
jBPM jPDL 用户开发手册 3.2.3 - 第13章
2008-09-03 20:49 1600第13章 文档管理 这仍然是一个试验性的属性。 为了使用这个 ... -
jBPM jPDL 用户开发手册 3.2.3 - 第11章
2008-09-03 20:45 1934第11章 上下文 上下文是关于流程变量的。流程变量是维护同流程 ... -
jBPM jPDL 用户开发手册 3.2.3 - 第10章
2008-09-02 12:42 2814第10章流程建模 10.1. 概 ... -
jBPM jPDL 用户开发手册 - 第9章
2008-08-24 06:24 2271第9章Java EE 应用服务器工具 本章将描述jBPM提供的 ... -
jBPM各版本及新手工具包下载地址
2008-08-22 17:40 4369由于一些刚开始学习jBPM的朋友看文档时,一般会提到 j ... -
jBPM jPDL 用户开发手册 - 第8章
2008-08-22 08:13 2687第8章 jBPM 数据库 8.1. 切 ... -
jBPM jPDL 用户开发手册 - 第7章
2008-08-20 17:24 2777第7章持久化 大多数的情况,jBPM用于维护流程的执行跨度很 ...
相关推荐
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...