文章目录

  • 1. 邮件任务
    • 1.1 流程设计
    • 1.2 引入pom
    • 1.3 邮件配置
    • 1.4 测试类
    • 1.5 运行
      • 1.5.1 启动任务
  • 源码地址
  • 项目推荐

Activiti中邮件任务一般用于发送邮件。

*后台服务基于Springboot2 + Activiti6,整合文章请参考:https://blog.csdn.net/yy756127197/article/details/101211510 不需要流程设计器就排除3,4步骤 *

1. 邮件任务

1.1 流程设计

设置

说明
charset:设置编码格式

流程图

流程文件bpmn

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/processdef"><process id="mailTask" name="邮件任务" isExecutable="true"><documentation>script</documentation><startEvent id="startEvent1"></startEvent><sequenceFlow id="sid-8FB9551F-B3A0-4F90-A6FF-EB18A7401952" sourceRef="startEvent1" targetRef="sid-3F1C24D4-C145-4E4F-932E-B532BA1ECB0A"></sequenceFlow><endEvent id="sid-C6D808B0-9D9E-4A64-8AD0-C65E440DD29A"></endEvent><serviceTask id="sid-3F1C24D4-C145-4E4F-932E-B532BA1ECB0A" name="发送邮件" activiti:type="mail"><extensionElements><activiti:field name="to"><activiti:string><![CDATA[gaha_hero@163.com]]></activiti:string></activiti:field><activiti:field name="from"><activiti:string><![CDATA[756127197@qq.com]]></activiti:string></activiti:field><activiti:field name="subject"><activiti:string><![CDATA[Activiti测试邮件]]></activiti:string></activiti:field><activiti:field name="text"><activiti:string><![CDATA[测试邮件测试邮件测试邮件测试邮件]]></activiti:string></activiti:field></extensionElements></serviceTask><sequenceFlow id="sid-E85675E5-0A4F-4210-B667-A8F7A7BAFB5C" sourceRef="sid-3F1C24D4-C145-4E4F-932E-B532BA1ECB0A" targetRef="sid-C6D808B0-9D9E-4A64-8AD0-C65E440DD29A"></sequenceFlow></process><bpmndi:BPMNDiagram id="BPMNDiagram_mailTask"><bpmndi:BPMNPlane bpmnElement="mailTask" id="BPMNPlane_mailTask"><bpmndi:BPMNShape bpmnElement="startEvent1" id="BPMNShape_startEvent1"><omgdc:Bounds height="30.0" width="30.0" x="180.0" y="160.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="sid-C6D808B0-9D9E-4A64-8AD0-C65E440DD29A" id="BPMNShape_sid-C6D808B0-9D9E-4A64-8AD0-C65E440DD29A"><omgdc:Bounds height="28.0" width="28.0" x="495.0" y="161.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="sid-3F1C24D4-C145-4E4F-932E-B532BA1ECB0A" id="BPMNShape_sid-3F1C24D4-C145-4E4F-932E-B532BA1ECB0A"><omgdc:Bounds height="80.0" width="100.0" x="300.0" y="135.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNEdge bpmnElement="sid-8FB9551F-B3A0-4F90-A6FF-EB18A7401952" id="BPMNEdge_sid-8FB9551F-B3A0-4F90-A6FF-EB18A7401952"><omgdi:waypoint x="210.0" y="175.0"></omgdi:waypoint><omgdi:waypoint x="300.0" y="175.0"></omgdi:waypoint></bpmndi:BPMNEdge><bpmndi:BPMNEdge bpmnElement="sid-E85675E5-0A4F-4210-B667-A8F7A7BAFB5C" id="BPMNEdge_sid-E85675E5-0A4F-4210-B667-A8F7A7BAFB5C"><omgdi:waypoint x="400.0" y="175.0"></omgdi:waypoint><omgdi:waypoint x="495.0" y="175.0"></omgdi:waypoint></bpmndi:BPMNEdge></bpmndi:BPMNPlane></bpmndi:BPMNDiagram>
</definitions>

1.2 引入pom

     <!-- 邮件--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>

1.3 邮件配置

# activiti配置activiti:database-schema-update: true# 记录级别,默认audithistory-level: full# 自动部署验证设置:true-开启(默认)、false-关闭check-process-definitions: false# 默认流程定义文件存放目录process-definition-location-prefix: classpath:/processes/# 邮件mail-server-host: smtp.qq.commail-server-port: 465mail-server-default-from: 756127197@qq.commail-server-user-name: 756127197@qq.commail-server-password: (你的邮箱授权码)mail-server-use-ssl: true

我是用的是QQ邮件,要使用QQ邮箱需要以下几步

  1. 开启SMTP服务
  2. 获取授权码

1.4 测试类

MailTaskTest .java

import com.it.cloud.modules.activiti.service.IActReModelService;
import org.activiti.engine.HistoryService;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.runtime.ProcessInstance;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;/*** 邮件任务测试*/
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
public class MailTaskTest {@Autowiredprivate IActReModelService actReModelService;@Autowiredprivate RuntimeService runtimeService;@Autowiredprivate RepositoryService repositoryService;@Autowiredprivate TaskService taskService;@Autowiredprivate HistoryService historyService;/*** 部署流程定义*/@Testpublic void deploy() {Deployment deployment = repositoryService.createDeployment() // 创建部署.addClasspathResource("diagrams/mailTask.bpmn20.xml") // 加载流程资源文件.name("mailTask流程") // 流程名称.deploy(); // 部署System.out.println("流程部署ID:" + deployment.getId());System.out.println("流程部署Name:" + deployment.getName());}/*** 启动流程实例*/@Testpublic void start() {ProcessInstance pi = runtimeService.startProcessInstanceByKey("mailTask"); // 流程定义表的KEY字段值System.out.println("流程实例ID:" + pi.getId());System.out.println("流程定义ID:" + pi.getProcessDefinitionId());}}

1.5 运行

运行deploy()

1.5.1 启动任务

运行start()

效果:


源码地址

IT-CLOUD-ACTIVITI6
开源项目,持续更新中,喜欢请 Star~

项目推荐

IT-CLOUD :IT服务管理平台,集成基础服务,中间件服务,监控告警服务等。
开源项目,持续更新中,喜欢请 Star~

【弄nèng - Activiti6】Activiti6入门篇(九)—— 邮件任务相关推荐

  1. 【弄nèng - Skywalking】入门篇(二)—— Skywalking集群部署

    文章目录 一. 安装OAP 1.1 前置 1.2 下载 1.3 修改配置application.yml 1.4 高级部署 1.5 webapp配置 1.6 启动 二. 使用Agent 2.1 修改配置 ...

  2. 【弄nèng - Grafana】入门篇(十)—— Dashboard默认时间范围和刷新时间设置

    文章目录 1. Dashboard通用设置 General 2. 修改Dashboard默认时间范围 3. 修改某个Panel时间 项目推荐 Dashboard修改默认时间范围 1. Dashboar ...

  3. 算法入门篇九 暴力递归

    牛客网 左程云老师的算法入门课 暴力递归 原则  汉诺塔问题 问题 打印n层汉诺塔从左边移动到最右边的过程 思想 一共六个过程,左到右.左到中,中到左,中到右,右到左,右到中,互相嵌套使用 左到右 将 ...

  4. 【弄nèng - SpringCloud】应用篇 —— 整合Zipkin【Finchley版】

    文章目录 1. Zipkin简介 2.术语 N. 插一杠子 N.1 下载Zipkin-server jar N.2 启动jar 3. 使用 3.1 it-zipkin-server 3.2 gatew ...

  5. 运动控制器编程_快速入门 | 篇二十一:运动控制器ZHMI组态编程简介一

    点击上方"正运动小助手",随时关注新动态! 运动控制器ZHMI组态编程简介一  今天我们来学习一下,运动控制器的ZHMI组态编程简介.本文主要从产品概述.控制器连接触摸屏使用.HM ...

  6. 快速入门 | 篇十三:正运动技术运动控制器ZDevelop 编程软件的使用

    之前正运动技术与大家分享了,运动控制器的固件升级.ZBasic程序开发.ZPLC程序开发.与触摸屏通讯和输入/输出IO的应用.运动控制器数据与存储的应用.运动控制器ZCAN.EtherCAT总线的使用 ...

  7. mac x99算法 java_黑苹果从入门到精通 篇九:从Clover转向OpenCore的X99 iMac Pro(一)...

    黑苹果从入门到精通 篇九:从Clover转向OpenCore的X99 iMac Pro(一) 2019-12-27 17:01:17 196点赞 2085收藏 138评论 追加修改(2019-12-2 ...

  8. EGE基础入门篇(九):双缓冲与手动渲染

    EGE专栏:EGE专栏 上一篇:EGE基础入门篇(八):清屏与重绘 下一篇: 文章目录 一.双缓冲机制 1. 单缓冲绘图 1.1 单缓冲绘图的缺点 1.2 系统读取帧缓冲 2. 双缓冲绘图 2.1 双 ...

  9. spring boot(一):入门篇

    构建微服务:Spring boot 入门篇 什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...

  10. Python:Excel自动化实践入门篇 甲【留言点赞领图书门票】

    *以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s?__biz=MzUxMTgxMzExNQ==&mid=22 ...

最新文章

  1. 手动生成token_手动设计简单的Token验证
  2. java单链表例子_写一个java链表的例子?随便举例说一下。
  3. PAT甲级1100 Mars Numbers:[C++题解]进制位、使用stringstream类读入
  4. 【深入Java虚拟机】之四:类加载机制
  5. 数据结构题:由逆置数组方法——逆置线性表L的所有元素
  6. ie插件获取dom_读书笔记《DOM编程艺术》DOM
  7. CCF-CSP认证备考学习行动路线图
  8. PAT (Basic Level) Practice1017 A除以B
  9. 【常用Dos命令操作】操作+图(1)
  10. 2020h黑苹果 y7000p_【黑苹果】联想Lenovo Legion Y7000 Y530系列笔记本,EFI文件下载
  11. android时钟计时器代码,android的Handle计时器实现代码
  12. dns劫持教您dns被劫持如何修复、dns劫持如何修复
  13. 代码读智识  笔墨知人心 1
  14. 使用Nginx中遇到的一个小问题思考
  15. 【phaser】快速实现HTML5 2D小游戏
  16. 一款原型设计工具“墨刀”的介绍
  17. 【北京】No317| 在京在读研究生,可静可动,乐观,脾气好,很佛系的女孩,喜欢运动,旅游,读书,小吃货一枚,谈恋爱比较粘人...
  18. python获取邮件并转为pdf
  19. 用mask-rcnn训练自己的数据
  20. Linux-read函数

热门文章

  1. 外罚函数法计算机,罚函数法与障碍函数法
  2. 三马论道互联网金融 众上市公司布局大数据
  3. iOS开发之弧形文字
  4. Dirichlet分布的推导与理解
  5. 移动通信基础(7)软判决
  6. OLT与ONU之间上下行数据方式解释
  7. GIS招聘 | 自然资源部各地单位招聘(第一波)
  8. c语言fputc用法,fputc 和fgetc 函数
  9. 达龙云电脑上榜2014数据中国最具投资价值排行榜
  10. 蚊帐上有两个破洞怎么办