Activiti5工作流 笔记(2)--创建工作流引擎

来源:互联网 发布:java ping 域名是否通 编辑:程序博客网 时间:2024/05/22 13:37

这系列笔记是我看视频学习总结出来的

第一次在这里写博客 代码插入用的不大熟 见谅

接下来新建activiti项目

建立后在资源文件夹下建立activiti的diagrams包 包下建立请假流程(示例):leaveBill
这时就用到了刚刚安装的插件
详细用法就不说了
总之我生成了流程图:


红框内为虚拟代理人
保存后会有leaveBill.bpmn和leaveBill.png的文件
第一个打开后为xml格式文件

经本人测试 导入包好像还需要common-lang.jar 否则通过代码方式创建数据库不能成功。。(原因暂时不明)


这里首要的就是获取ProcessEngineConfiguration
下面是第一种方式创建工作流引擎:
/** * 通过代码方式创建 *///取得ProcessEngineConfiguration对象ProcessEngineConfiguration engineConfiguration=ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();//设置数据库连接属性engineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");engineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/activitiDB?createDatabaseIfNotExist=true"+ "&useUnicode=true&characterEncoding=utf8");engineConfiguration.setJdbcUsername("root");engineConfiguration.setJdbcPassword("123456");//设置生成表的策略,没有表时,自动创建表/*  public static final java.lang.String DB_SCHEMA_UPDATE_FALSE = "false"; 不会自动创建 不存在 抛异常  public static final java.lang.String DB_SCHEMA_UPDATE_CREATE_DROP = "create-drop";//先删除 再创建  public static final java.lang.String DB_SCHEMA_UPDATE_TRUE = "true"; 没有表 自定创建*/engineConfiguration.setDatabaseSchemaUpdate("true");//创建ProcessEngine对象ProcessEngine processEngine = engineConfiguration.buildProcessEngine();System.out.println("流程引擎创建成功");

执行成功后,将在数据库里生成activitidb的数据库以及相关表

第二种方法:通过加载 activiti.cfg.xml 获取 流程引擎 和自动创建数据库及表
首先在src/main/resource下建立配置文件activiti.cfg.xml(名字可自行改)
<?xml version="1.0" encoding="UTF-8"?>
<beansxmlns="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"xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<!-- 配置ProcessEngineConfiguration -->
<beanid="processEngineConfiguration"class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<!-- 配置数据库连接 -->
<propertyname="jdbcDriver"value="com.mysql.jdbc.Driver"/>
<propertyname="jdbcUrl"value="jdbc:mysql://localhost:3306/activitiDB?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=utf8"/>
<propertyname="jdbcUsername"value="root"/>
<propertyname="jdbcPassword"value="123456"/>
<propertyname="databaseSchemaUpdate"value="true"/>
</bean>
</beans>
由于数据库等配置已经在xml文件里配置 所以代码会简单很多

@Test
publicvoid createEngine2(){
/**
* 通过加载 activiti.cfg.xml 获取 流程引擎 和自动创建数据库及表
*/
//取得ProcessEngineConfiguration对象
ProcessEngineConfiguration engineConfiguration=ProcessEngineConfiguration.
createProcessEngineConfigurationFromResource("activiti.cfg.xml");//从类加载路径加载资源
//创建ProcessEngine对象
ProcessEngine processEngine = engineConfiguration.buildProcessEngine();
System.out.println("加载 activiti.cfg.xml 获取 流程引擎成功");
}
这里需注意配置文件用数据库时
配置相关属性的名字
<propertyname="jdbcDriver"value="com.mysql.jdbc.Driver"/>
貌似jdbcDriver改为其它名字可能出错。

加载的文件名及路径必须确保与之前配置文件名字及路径一样

第三种方法:默认会加载类路径下的 activiti.cfg.xml
@Test
publicvoid createEngine3(){
/**3. 通过ProcessEngines 来获取默认的流程引擎
*
*/
//默认会加载类路径下的 activiti.cfg.xml
ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();
System.out.println("通过ProcessEngines 来获取流程引擎");
}
附上log4j基本配置文件:
log4j.rootLogger=INFO, CA
 
# ConsoleAppender
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern= %d{hh:mm:ss,SSS} [%t] %-5p %c %x - %m%n

1 1
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 申请的qq没登录忘了账号怎么办 炫舞时代由于网络原因登不上怎么办 qq申请太多进不了热聊怎么办 手机号申请的微信号被盗了怎么办 买菜别人少找了钱不还怎么办 在掌上英雄联盟买皮肤买错区怎么办 win8我的电脑图标没了怎么办 英雄联盟老是卡在安全扫描怎么办 英雄联盟活动送皮肤没送怎么办 电脑换完系统有些页面打不开怎么办 王卡助手交手机费页面打不开怎么办 在浏览器上打不开路由器页面怎么办 英雄联盟读条的时候自动关机怎么办 手机的位置信息开不了怎么办呢 滴滴车主接到乘客返回路程要怎么办 移动换话费积分是发什么短信怎么办 手机店积分换手机被贷款怎么办 心悦俱乐部礼包已过期是怎么办 心悦兑换的东西不是账号绑定怎么办 心悦会员绑定的手机号不用了怎么办 想在京东商城开个网店怎么办呢 京东买了东西收货了不想要了怎么办 京东转卖的商品有问题怎么办 如果衣服下架了然后有退货怎么办 想买二手车可没有懂车的人怎么办 买车的时候异地车牌回家怎么办 天猫下单显示下单人数太多券怎么办 英雄联盟进入游戏后无限崩溃怎么办 打开电视显示百度影棒打不开怎么办 家里路由器网速一会快一会慢怎么办 用快看影视下载电影网速太慢怎么办 苹果手机下载东西网速特别慢怎么办 网上买重庆时时彩输了很多钱怎么办 找不到自己在哪个平台借过钱怎么办 九游账号绑定手机之前绑定的怎么办 九游充过钱的游戏忘了游戏名怎么办 百度网盘密码忘了申诉不了怎么办 手机号被别人注册了百度账号怎么办 快手被盗找回时出来重置密码怎么办 魅族账号密码和密保都忘记了怎么办 vivo账号的密保问题忘了怎么办