第一步:导入jbpm需要的jar包
第二步:导入需要的配置文件:jbpm.cfg.xml,jbpm.hibernate.cfg.xml,logging.properties
jbpm.hibernate.cfg.xml:
org.hibernate.dialect.MySQL5InnoDBDialect
com.mysql.jdbc.Driver
jdbc:mysql:///jbpm_?characterEncoding=utf8
root
root
update
true
logging.properties:
handlers= java.util.logging.ConsoleHandler redirect.commons.logging = enabled java.util.logging.ConsoleHandler.level = SEVERE java.util.logging.ConsoleHandler.formatter = org.jbpm.internal.log.LogFormatter org.jbpm.level=SEVERE # org.jbpm.pvm.internal.tx.level=FINE # org.jbpm.pvm.internal.wire.level=FINE # org.jbpm.pvm.internal.util.level=FINE #org.hibernate.level=INFO #org.hibernate.cfg.SettingsFactory.level=SEVERE #org.hibernate.cfg.HbmBinder.level=SEVERE #org.hibernate.SQL.level=FINEST #org.hibernate.type.level=FINEST # org.hibernate.tool.hbm2ddl.SchemaExport.level=FINEST # org.hibernate.transaction.level=FINEST
jbpm.cfg.xml:
java代码:
package cn.edu.zust.itee; import java.util.List; import org.jbpm.api.Configuration; import org.jbpm.api.ProcessEngine; import org.jbpm.api.task.Task; import org.junit.Test; / * @author 郑勇 * 2013-07-09 10:43 */ public class HelloWord { ProcessEngine processEngine = new Configuration().setResource("jbpm.cfg.xml").buildProcessEngine(); //初始化:建表(创建18张) @Test public void createSchema(){ new org.hibernate.cfg.Configuration().configure("jbpm.hibernate.cfg.xml").buildSessionFactory(); } //一、部署流程定义(jbpm4_lob和jbpm4_deployment拥有数据) @Test public void deployProcessDefinition(){ processEngine.getRepositoryService() .createDeployment() .addResourceFromClasspath("helloword/test.jpdl.xml") .addResourceFromClasspath("helloword/test.png") .deploy(); } //二、启动流程定义(jbpm4_execution拥有数据) @Test public void startProcessInstance(){ processEngine.getExecutionService().startProcessInstanceByKey("test"); } //三、查询我的未办理的任务列表 @Test public void findMyTaskList(){ //查询任务 String usrid = "员工"; // String usrid = "部门经理"; // String usrid = "总经理"; List
list = processEngine.getTaskService().findPersonalTasks(usrid); System.out.println("============="+usrid+"未办理的任务列表============="); //显示任务 for(Task task:list){ System.out.println("id="+task.getId()+",name="+task.getName()+",assignee="+task.getAssignee()+",createTime="+task.getCreateTime()); } } //四、办理完成任务 // id=10002 // id=20001 // id=30001 @Test public void completeTask(){ String userid = "30001"; processEngine.getTaskService().completeTask(userid); } //任务全部执行完,表jbpm4_execution记录删除,jbpm4_hist_procinst表显示历史记录 }
流程定义:
流程图:

数据库:

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218508.html原文链接:https://javaforall.net
