jBPM如何自定义task
1 背景
jBPM中,task表示一段业务逻辑,比如发送邮件、查询数据库等。jBPM支持的task的总类如下图所示。除此之外,jBPM支持用户自定义task,官方的叫法有domain-specific task、custom work items、custom service node。
2 例子
2.1 创建wid文件
文件的路径src/main/resources/META-INF/MyWorkDefinitions.wid。文件内容如下。
[
// the Notification work item
[
"name" : "Notification",
"parameters" : [
"Message" : new StringDataType(),
"From" : new StringDataType(),
"To" : new StringDataType(),
"Priority" : new StringDataType(),
],
"displayName" : "Notification",
"icon" : "icons/notification.gif"
]
]
wid的全称是work itemdefinition,使用MVEL语言,定义了一个custom work item。
2.2 注册wid文件
创建src/main/resources/META-INF/drools.rulebase.conf,文件内容如下。
drools.workDefinitions = MyWorkDefinitions.wid
2.3 使用custom work item
重启eclipse之后,你会发现元件面板多了一个Notification元件,你可以按照其他元件的使用方法使用这个元件。
<