使用IDEA的众筹项目(十一)邮件相关设置以及流程设置

本文详细介绍如何在工作流系统中集成邮件发送功能,包括配置邮件服务器、使用JavaMail发送邮件、实现邮件任务流程监听器,以及利用Quertz石英调度进行定时任务管理。同时,探讨了流程管理中的关键操作,如查询、部署、删除和展示流程定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 . 实名认证审批流程 - 需求

通过邮箱模拟银行卡确认申请
在这里插入图片描述
在这里插入图片描述
注意:采用Activiti给邮件服务器发送邮件,默认访问的localhost本机的邮件服务器

2. 配置邮件服务器

  1. 安装邮件服务器
    • 将apache-james-3.0-beta4-app.zip解压到非中文,非空格目录下
      在这里插入图片描述
    • 将jaxb-impl-2.1.3.jar拷贝到apache-james-3.0-beta4-app\conf\lib\jaxb-impl-2.1.3.jar中,注意:==JDK1.6不需要拷贝这个jar包;JDK1.7,1.8需要拷贝这个jar包 ==
      在这里插入图片描述
  2. 通过命令行启动邮件服务器
    • 第一个DOS窗口启动邮件服务器:
      在这里插入图片描述
      启动成功:

    • 第二个DOS窗口创建邮箱域名和邮箱用户:
      在这里插入图片描述

3. foxmail邮件客户端

  1. 解压
  2. 启动:
    在这里插入图片描述
    3.登录
    在这里插入图片描述
    在这里插入图片描述

4. 配置邮件服务器的数据库(mysql)

  1. 服务器默认将数据保存到本地Derby数据库中, 也可以将数据保存到指定的数据库中
    • 修改 apache-james-3.0-beta4\conf\james-database-template.properties 文件
      改名为:
      在这里插入图片描述
      修改配置:
      在这里插入图片描述
    • 拷贝MySQL驱动jar包mysql-connector-java-5.1.8.jar到apache-james-3.0-beta4-app\conf\lib目录下
      在这里插入图片描述
    • 再次重启邮件服务器和邮箱用户 ,会发现数据库成功创建表
      在这里插入图片描述

5. 完成自动发送邮件功能

  1. 流程与设置
    在这里插入图片描述
    2.部署并启动流程实例
    部署:
    在这里插入图片描述
    启动:
    在这里插入图片描述

6. Spring集成JavaMail完成程序代码发送邮件

  1. 增加配置文件:spring-mail.xml
    在这里插入图片描述
  2. Java代码发送邮件,依赖commons-emails包
    在这里插入图片描述

7. 邮件任务流程监听器

  1. 流程监听器

    • 审核通过:${flag==true}
    • 审核拒绝:${flag==false}
      在这里插入图片描述
  2. 创建流程监听器
    在这里插入图片描述
    在这里插入图片描述

  3. 设置监听器
    在这里插入图片描述
    在这里插入图片描述

  4. 测试
    在这里插入图片描述

8. 定时任务(Quertz石英调度)

  1. 修改Activiti配置
    在这里插入图片描述

  2. 执行任意流程
    在这里插入图片描述

  3. .定时任务的使用
    在这里插入图片描述

  4. Quertz石英调度
    (1)定义定时任务类
    在这里插入图片描述
    (2)Spring集成Quertz配置文件
    在这里插入图片描述

     <?xml version="1.0" encoding="UTF-8"?>
     <beans xmlns="http://www.springframework.org/schema/beans"
     	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
     	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jee="http://www.springframework.org/schema/jee"
     	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
            http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd">
     	
     	<!-- 独立的JAVA类及方法 -->
     	<bean id="workJob" class="com.itstudy.crw.task.FinishWorkTask"></bean>
     	<!-- 配置任务的具体类和方法 -->
     	<bean id="workTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
     		<!-- 要调用的bean -->
     		<property name="targetObject" ref="workJob"></property> 
     		<!-- 要调用的Method -->
     		<property name="targetMethod" value="finish"></property>
     		<!-- 是否并发,false表示 如果发生错误也不影响下一次的调用 -->
     		<property name="concurrent" value="false"></property>
     	</bean>
     	<!-- 配置一个触发器 -->
     	<bean id="workTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
     		<property name="jobDetail" ref="workTask"></property>
     		<!--石英表达式,定义了任务的启动时间-->
     		<property name="cronExpression" value="0/3 * * * * ?"></property> 
     	</bean>
     	 
     	<!-- 总调度,用于启动定时器 -->
     	<bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
     		<property name="triggers" >
     			<list>
     				<ref bean="workTrigger"/>
     			</list>
     		</property>
     	</bean>
     </beans>
    

(3)Cron表达式详解
在这里插入图片描述
在这里插入图片描述

9. 流程管理 - 流程定义- 查询

  1. controller
    在这里插入图片描述
    在这里插入图片描述
    问题:在这里插入图片描述
    解决:将List中数据使用Map存储,然后进行JSON数据格式化

10. 流程管理 - 流程定义- 部署

  1. 上传流程定义文件按钮
    在这里插入图片描述
  2. 增加上传的表单,隐藏
    在这里插入图片描述
  3. 给文件上传表单增加点击事件
    在这里插入图片描述
  4. 处理文件上传
    在这里插入图片描述
  5. 测试
    在这里插入图片描述

11. 流程管理-流程定义-删除

在这里插入图片描述
在这里插入图片描述

12. 流程管理-流程定义-图片展示

将部署后的流程图片显示到客户端浏览器上

  1. 增加显示流程定义图片的链接
    在这里插入图片描述
  2. 处理请求
    在这里插入图片描述
  3. 显示页面
    在这里插入图片描述
  4. 发起请求加载流程图片
    在这里插入图片描述
  5. 处理请求
    在这里插入图片描述
  6. 显示图片效果
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值