本文节选自《疯狂工作流讲义(第2版)》
京东购买地址:https://item.jd.com/12246565.html
疯狂Activiti电子书:https://my.oschina.net/JavaLaw/blog/1570397
工作流Activiti教学视频:https://my.oschina.net/JavaLaw/blog/1577577
6邮件服务器与history配置
6.1history配置
在流程执行的过程中,会产生一些流程相应的数据,例如流程实例、流程任务和流程参数等数据,随着流程的进行与结束,这些数据将会从流程数据表中删除,为了能保存这些数据,Activiti提供了历史数据表,可以让这些数据保存到历史数据表中。
对于这些历史数据,保存到何种粒度,Activiti提供了history属性对其进行配置。history属性有点像log4j的日志输出级别,该属性有以下四个值:
none:不保存任何的历史数据,因此,在流程执行过程中,这是最高效的。
activity:级别高于none,保存流程实例与流程行为,其他数据不保存。
audit:除activity级别会保存的数据外,还会保存全部的流程任务及其属性。audit为history的默认值。
full:保存历史数据的最高级别,除了会保存audit级别的数据外,还会保存其他全部流程相关的细节数据,包括一些流程参数等。
流程历史数据配置的用法以及效果,将在“历史数据管理”章节进行详细讲解,如果读者想查看各个属性的效果,可以运行以下几个例子:
codes\04\4.3\history-config\src\org\crazyit\activiti\Activity.java
codes\04\4.3\history-config\src\org\crazyit\activiti\Audit.java
codes\04\4.3\history-config\src\org\crazyit\activiti\Full.java
codes\04\4.3\history-config\src\org\crazyit\activiti\None.java
注:在运行这几个例子前,先将act数据库的全部表删除。
6.2邮件服务器配置
Activiti支持邮件服务,当流程执行到某一个节点时,Activiti会根据流程文件配置(Email Task),发送邮件到相应的邮箱。以下为ProcessEngineConfiguration中提供的邮件服务器配置项:
mailServerHost:邮件服务器地址,非必填,默认值为localhost。
mailServerPort:SMTP发送邮件服务器端口,默认值为25。
mailServerDefaultFrom:非必填,发送人的邮箱地址,默认值为activiti@activiti.org。
mailServerUsername:邮箱登录用户名。
mailServerPassword:邮箱登录密码。
mailServerUseSSL:是否使用SSL协议通信,默认为false。
mailServerUseTLS:是否使用TLS协议通信,默认为false。
使用SMTP协议发送邮件,需要知道邮件服务器地址、SMTP端口、邮箱登录用户名和密码,代码清单4-15中以网易邮箱为例子,列出如何设置这几个邮件配置项。
代码清单4-15:codes\04\4.3\mail\resource\mail.xml
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/act" />
<property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
<property name="jdbcUsername" value="root" />
<property name="jdbcPassword" value="123456" />
<property name="mailServerHost" value="smtp.163.com"></property>
<property name="mailServerPort" value="25"></property>
<property name="mailServerDefaultFrom" value="yangenxiong@163.com"></property>
<property name="mailServerUsername" value="yangenxiong@163.com"></property>
<property name="mailServerPassword" value="123456"></property>
</bean>
关于邮件发送任务(Email Task)的使用,请参看流程任务章节。
本文节选自《疯狂工作流讲义(第2版)》
京东购买地址:https://item.jd.com/12246565.html
疯狂Activiti电子书:https://my.oschina.net/JavaLaw/blog/1570397
工作流Activiti教学视频:https://my.oschina.net/JavaLaw/blog/1577577
本书代码目录:https://gitee.com/yangenxiong/CrazyActiviti