写jbpm4.4执行完成最后一个任务遇到如下问题。
来源:互联网 发布:怎么看淘宝卖家类目 编辑:程序博客网 时间:2024/05/22 02:08
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at junit.framework.TestCase.runTest(TestCase.java:164) at junit.framework.TestCase.runBare(TestCase.java:130) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:120) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:131) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)Caused by: com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`JBPM4_EXECUTION`, CONSTRAINT `FK_EXEC_INSTANCE` FOREIGN KEY (`INSTANCE_`) REFERENCES `JBPM4_EXECUTION` (`DBID_`)) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) at com.mysql.jdbc.Connection.execSQL(Connection.java:3283) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1604) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1519) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1504) at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2551) ... 34 more### EXCEPTION ###########################################10:25:04,540 FIN | [HibernateSessionResource] ----- rolling back hibernate tx 1940445711 -----------------------------------------------------
测试流程如图:
我测试代码是:completeTask
package com.tgb.video;import java.util.List;import org.jbpm.api.Configuration;import org.jbpm.api.ExecutionService;import org.jbpm.api.ProcessEngine;import org.jbpm.api.ProcessInstance;import org.jbpm.api.RepositoryService;import org.jbpm.api.TaskService;import org.jbpm.api.task.Task;import junit.framework.TestCase;public class testJbpm extends TestCase{ /** * 第1步:部署流程; */ public void deploy(){ ProcessEngine processEngine=Configuration.getProcessEngine();//得到流程引擎processEngine, RepositoryService repositoryService=processEngine.getRepositoryService();//通过流程引擎得到服务 repositoryService.createDeployment().addResourceFromClasspath("test.jpdl.xml").deploy(); } /** * 第2步:创建流程实例; */ public void createInstance(){ ProcessEngine processEngine=Configuration.getProcessEngine();//得到流程引擎processEngine; ExecutionService executionService=processEngine.getExecutionService();//通过流程引擎得到流程执行服务; ProcessInstance processInstance=executionService.startProcessInstanceByKey("test"); System.out.println("流程实例ID==="+processInstance.getId()); } /** * 获取对应人员的任务 */ public void getTask(){ ProcessEngine processEngine=Configuration.getProcessEngine();//得到流程引擎processEngine; TaskService taskService=processEngine.getTaskService();//通过流程引擎得到任务服务接口// List<Task> tasks=taskService.findPersonalTasks("张三");//得到张三用户拥有的任务 List<Task> tasks=taskService.findPersonalTasks("李四");//得到李四用户拥有的任务 System.out.println("任务数量=="+tasks.size()); System.out.println("任务名称=="+tasks.get(0).getActivityName()); System.out.println("任务人员=="+tasks.get(0).getAssignee()+";任务ID=="+tasks.get(0).getId()); } /** * 查看流程实例当前所在节点。如查看请假流程到哪一步了。 */ public void getCurrectActivity(){ ProcessEngine processEngine=Configuration.getProcessEngine(); ExecutionService executionService=processEngine.getExecutionService(); String activityName=executionService.createProcessInstanceQuery().processInstanceId("test.10001").uniqueResult().findActiveActivityNames().toString(); System.out.println("当前任务所在节点==="+activityName); } /** * 完成任务:这一任务完成后,进入到下一任务。如果下一任务为end节点。那么这个流程实例就结束了。 */ public void completeTask(){ ProcessEngine processEngine=Configuration.getProcessEngine(); TaskService taskService=processEngine.getTaskService();// taskService.completeTask("10002");//完成任务id 10002,在JBPM4_TASK表的DBID字段;这个任务完成后执行到下一个任务节点 taskService.completeTask("20001");//完成任务id 20001,在JBPM4_TASK表的DBID字段; }}解决:hibernate方言有问题
org.hibernate.dialect.MySQLDialect
把hibernate方言 的配置改成以下
org.hibernate.dialect.MySQLInnoDBDialect
解释:1,mysql默认存储引擎为InnoDB,需创建新表(表名不存在),数据库方言只能选择MySQLDialect;2,mysql默认存储引擎为InnoDB,需更改表结构(表名存在),数据库方言三者皆可选(建议选择MySQLInnoDBDialect);
0 0
- 写jbpm4.4执行完成最后一个任务遇到如下问题。
- jbpm4.4遇到的问题
- iOS 如何巧妙解决“一个任务需要等待另外一个任务完成后才可以执行”的问题
- jbpm4.4动态任务
- 完成与执行任务
- 如何写一个DOM加载完成的执行行数
- JBPM4.4:再说活动、任务、事件及在网页中高亮正在执行的活动
- 遇到一个郁闷问题,最后在郁闷中解决!
- [IOS]新建一个framework,遇到的问题在最后
- 写struts2遇到的一个小问题
- 关于一次php任务执行遇到的各种各样的问题
- ScheduledExecutorService遇到异常后续任务不继续执行的问题
- JBPM4.4:执行流程实例(启动、向后一步、查询任务、拾取任务、完成任务、设置获取流程变量)
- 文章标题JBPM4.4:执行流程实例(启动、向后一步、查询任务、拾取任务、完成任务、设置获取流程变量)
- 美团二面被打击,遇到一个最基础的问题:Activity的生命周期,回来一番恶补,总结如下
- jbpm4.4之待处理任务
- jbpm4.4之待处理任务
- jBPM4.4之(Task)任务分配
- 鸟哥的Linux私房菜学习笔记--Linux语系的支持
- Android中JNI 的一些常用说明 JNI_OnLoad registerNatives registerNativeMethods
- Java对象在内存图示
- storm问题排查
- 用photoshop制作电子版签名图片
- 写jbpm4.4执行完成最后一个任务遇到如下问题。
- Android 7.0 WifiMonitor工作流程分析
- linux下用户名信息
- static
- 设计原则【目录】
- 自定义view加之
- 免费游戏资源推荐
- Linux OpenSSH后门的添加与防范
- 最简单的圆角列表,圆角看起来还是好看