JBPM邮件功能,reminder标签
来源:互联网 发布:centos 挂载iso 编辑:程序博客网 时间:2024/05/16 05:20
JBPM邮件功能:
在任务中支持e-mail
可以为分配人提供一个提醒,当一个任务被加入到他们的任务列表,以及在特定的时间间隔进行提醒,每个email信息也是根据模板产生得,模板设置同上。
在task元素下提供两个email提醒子元素:
元素名
个数
描述
Notification
0-1
让一个任务被分配的时候发送一个提醒消息。 如果没有引用模板,也没有提供内部的模板, mail会使用task-notification名字的模板。
reminder
0-1
根据指定的时间间隔发送提醒信息。 如果没有引用模板,也没有提供内部模板, mail会使用task-reminder名字的模板。
Notification属性:
属性
类型
默认值
是否必填
描述
Continue
{sync|async|exclusive}
Sync
可选
指定在发送提醒邮件后, 是不是产生一个异步执行。
Reminder属性:
属性
类型
默认值
是否必填
描述
duedate
持续时间(纯字符串或包含表达式)
必填
在reminder email发送前的延迟时间。
repeat
可选
在一个序列reminder email发送后延迟的时间
continue
{sync | async | exclusive}
sync
可选
指定在发送提醒邮件后, 是不是产生一个异步执行。
示例:
<task name="review" assignee="#{order.owner}"
<notification/>
<reminder duedate="2 days" repeat="1 day"/>
</task>
1、修改jbpm.cfg.xml,修改后内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<jbpm-configuration>
<!--
<import resource="jbpm.default.cfg.xml" />
-->
<import resource="jbpm.customer.cfg.xml" /> <!--替换jbpm.default.cfg.xml,主要功能是这样修改mail-Server相关属性方便-->
<import resource="jbpm.businesscalendar.cfg.xml" />
<import resource="jbpm.tx.hibernate.cfg.xml" />
<import resource="jbpm.jpdl.cfg.xml" />
<import resource="jbpm.bpmn.cfg.xml" />
<import resource="jbpm.identity.cfg.xml" />
<import resource="jbpm.jobexecutor.cfg.xml" />
</jbpm-configuration>
2、在classpath下建立文件jbpm.customer.cfg.xml,
复制jbpm.default.cfg.xml中的内容到新建新建的文件中,修改其中
<mail-session>
<mail-server>
<session-properties resource="jbpm.mail.properties" />
<authenticator class="com.cqs.mail.MyAuthenticator">
<field name="userName"><string value="cuitsingsh"/></field>
<field name="password"><string value="cqsztt"/></field>
</authenticator>
</mail-server>
</mail-session>
3、修改jbpm.mail.properties,修改后的内容如下:
mail.smtp.host=smtp.exmail.qq.com
mail.smtp.port=25
mail.from=server@inventinfotech.com
mail.smtp.auth= true
4、增加验证类MyAuthenticator如下:
package com.cqs.mail;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
public class MyAuthenticator extends Authenticator{
private String userName;
private String password;
public MyAuthenticator() {
System.out.println("myAuthenticator is construct");
}
@Override
protected PasswordAuthentication getPasswordAuthentication() {
// TODO Auto-generated method stub
return new PasswordAuthentication(userName, password);
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
5、测试
(1)xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<process name="TaskNotification" xmlns="http://jbpm.org/4.4/jpdl">
<start g="20,20,48,48">
<transition to="review"/>
</start>
<task name="review" assignee="liming" g="96,16,127,52">
<notification/>
<transition to="wait"/>
</task>
<state name="wait" g="255,16,88,52"/>
</process>
JBPM邮件中用到的标签:
通过使用mail活动节点,流程作者可以指定一个邮件信息的内容,一次发送给多个收件人,每个email信息都是从一个模板产生,当然里面可以设置一些时变的变量如${person},然后在流程启动之前将给这个变量赋值,并且放到variables集中,模板可能在流程定义jpdl中,也可以是引用外部模板,如果没有,则默认使用jbpm-default-cfg.xml的<process-engine-context>部分指定的模板,下面针对mail节点说明其各属性:
元素
个数
描述
from
0-1
发件者列表
to
1
主要收件人列表
cc
0-1
抄送收件人列表
bcc
0-1
密送收件人列表
subject
1
邮件主题
text
0-1
邮件文字内容
html
0-1
邮件的html内容
attachments
0-1
附件可以指定url,classpath资源或本地文件
示例:
<task g="134,311,92,52" name="review" assignee="${owner}">
<transition g="-47,-17" name="to end" to="end"/>
</task>
<mail g="0,0,80,40" name="send rectify note">
<to addresses="${toEmail}"/>
<subject>通知${person}</subject>
<text>一个新通知</text>
<transition to="end"></transition>
</mail>
<end g="131,479,48,48" name="end"/>
Ps:在默认安装配置下的src目录下有一个jbpm.mail.properties文件,它是用来指定邮件服务器信息的,如果不想使用本地邮件服务器localhost,想要使用其他邮件服务器,可以使用比如:smtp.163.com,则可以修改mail.smtp.host=smtp.163.com;
二)
在任务中支持e-mail
可以为分配人提供一个提醒,当一个任务被加入到他们的任务列表,以及在特定的时间间隔进行提醒,每个email信息也是根据模板产生得,模板设置同上。
在task元素下提供两个email提醒子元素:
元素名
个数
描述
Notification
0-1
让一个任务被分配的时候发送一个提醒消息。 如果没有引用模板,也没有提供内部的模板, mail会使用task-notification名字的模板。
reminder
0-1
根据指定的时间间隔发送提醒信息。 如果没有引用模板,也没有提供内部模板, mail会使用task-reminder名字的模板。
Notification属性:
属性
类型
默认值
是否必填
描述
Continue
{sync|async|exclusive}
Sync
可选
指定在发送提醒邮件后, 是不是产生一个异步执行。
Reminder属性:
属性
类型
默认值
是否必填
描述
duedate
持续时间(纯字符串或包含表达式)
必填
在reminder email发送前的延迟时间。
repeat
可选
在一个序列reminder email发送后延迟的时间
continue
{sync | async | exclusive}
sync
可选
指定在发送提醒邮件后, 是不是产生一个异步执行。
示例:
<task name="review" assignee="#{order.owner}"
<notification/>
<reminder duedate="2 days" repeat="1 day"/>
</task>
ps2:邮件发送时,要自己写一个验证类extends Authenticator,否则报错,需要一个额外的jar包subethasmtp-smtp-1.2.jar,由于该类是我们自己添加的,所以我们必须在配置文件中加注一下,找到jbpm-default-cfg.xml:
<mail-session>
<mail-server>
<session-properties resource="jbpm.mail.properties" />
<authenticator class="mail.MyAuthenticator" />
</mail-server>
贴上我的MyAuthenticator类:
- package mail;
- import javax.mail.Authenticator;
- import javax.mail.PasswordAuthentication;
- public class MyAuthenticator extends Authenticator {
- String userName=null;
- String password=null;
- public MyAuthenticator(){
- }
- public MyAuthenticator(String username, String password) {
- this.userName = username;
- this.password = password;
- }
- protected PasswordAuthentication getPasswordAuthentication(){
- return new PasswordAuthentication("xuhaifeng19890815", "******");
- }
- }
- JBPM邮件功能,reminder标签
- reminder
- Reminder
- jBPM如何发送邮件
- VSS-打标签自动发邮件的功能
- a标签 功能性打开qq迅雷 邮件的方法
- H5中a标签的电话和邮件功能
- 邮件标签
- Tech Reminder
- Reminder websites
- html a 标签实现打电话,发短信,发邮件,查地图功能
- cfmail标签发邮件
- JBPM回退功能的实现
- My Assignment: My Reminder
- State Design Pattern: Reminder
- Modulo and Reminder
- 关于Calendar和Reminder
- JAVA-REMINDER-MVC
- 10个常见的缓存使用误区
- HDU1879 继续畅通工程 【最小生成树Prim】
- VB.NET中文件操作类(新浪 随波逐流 的博文)
- 憾曰夹坏袄梦窖汗倬谠扇
- NOJ1581
- JBPM邮件功能,reminder标签
- plsql无法连接linux下的oracle服务器,提示:ora-12541:TNS 无监听程序
- 【学生信息管理系统】Win7防火墙添加开放端口
- javascript学习笔记之window.open
- 背后的故事
- NSTimer后台运行并弹出提示
- 从几组题目中选取出每组rightnum<10的rightnum最大的条目信息(sql学习)
- 数据结构与算法面试题100道
- 进程和线程的区别