`
Frederick
  • 浏览: 117795 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

删除jbpm流程实例出错,那位帮我看看

阅读更多
我使用spring-module工具,调用jBPM提供的方法 GraphSession.deleteProcessInstance()。按理说,既然jBPM提供了方法来删除流程实例,那么就应该把相关的东西统统都删掉才对,可是看错误信息,似乎还得调用这个方法的人来删除相关对象。

是不是我不应该调用这个方法?是不是jBPM提供了其他的删除流程实例的方法我没有找到呢?


代码如下:

	public void deleteProcessInstance(final Long processInstanceId) {
		this.jbpmTemplate.execute(new JbpmCallback() {
			@Override
			public Object doInJbpm(JbpmContext context) throws JbpmException {
				context.getGraphSession().deleteProcessInstance(processInstanceId);
				return null;
			}
		});
	}


错误信息如下:
2007-11-12 11:11:55,859 ERROR [org.hibernate.event.def.AbstractFlushingEventListener] - Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
	at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
	at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:92)
	at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:87)
	at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:222)
	at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2479)
	at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2697)
	at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:74)
	at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:234)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:146)
	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
	at org.springframework.orm.hibernate3.SpringSessionSynchronization.beforeCommit(SpringSessionSynchronization.java:126)
	at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:48)
	at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:835)
	at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:645)
	at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:632)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:314)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:117)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
	at $Proxy16.removeRequestOrderByBusinessDpt(Unknown Source)
	at cn.com.gxlu.fiberscheduler.web.controller.fiberapply.FiberApplyController.deleteFiberApply(FiberApplyController.java:202)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:428)
	at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:366)
	at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
	at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:857)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:475)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:440)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at cn.com.gxlu.fiberscheduler.web.util.CharactorEncodingFilter.doFilter(CharactorEncodingFilter.java:32)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.sql.BatchUpdateException: ORA-02292: 违反完整约束条件 (FIBERSCHEDULERJBPM.FK_LOG_TASKINST) - 已找到子记录日志

	at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:367)
	at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:8727)
	at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
	at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
	at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246)
	... 52 more
分享到:
评论

相关推荐

    jbpm开发实例详解

    在jbpm的开发中,你会遇到流程定义、流程实例的启动和执行、任务的分配和完成、流程变量的管理和查询等功能。例如,你可以使用jPDL定义一个请假流程,其中包含申请、审批和销假等步骤。流程的执行可以通过jbpm提供的...

    jbpm4实例源码,可直接运行

    **jbpm4实例源码详解** ...通过研究这个jbpm4实例源码,开发者不仅可以了解jbpm4的基本概念,还能学习到如何在实际项目中部署和运行流程。这将极大地提升开发者的业务流程管理能力,使其能够高效地实现企业流程自动化。

    揭秘jbpm流程引擎内核设计思想及构架.doc

    了解jbpm流程引擎内核的设计思想和结构,需要具备一定的工作流基本概念,例如流程系统结构、流程定义和流程实例等。同时,需要具备一定的开发环境,例如Eclipse开发环境和jbpm-starters-kit开发包。 jbpm流程引擎...

    JBPM4 实例

    总的来说,理解并实践JBPM4实例,如"LeaveJbpm",不仅可以让你熟悉流程管理的基本概念,还能帮助你掌握如何在实际项目中应用这些知识,提升业务流程自动化的能力。通过不断的学习和实践,你将能够熟练地运用JBPM4...

    经典的配置好的jbpm实例

    这个经典的jbpm实例提供了一个已经配置好的环境,可以直接在Tomcat应用服务器上部署,并能在MyEclipse集成开发环境中导入使用,极大地简化了开发者的学习和开发流程。 一、jbpm简介 jbpm是一个基于Java的流程引擎,...

    jbpm4请假实例代码

    【jbpm4请假实例代码】是一个基于jbpm4工作流引擎的示例应用,它用于演示如何在实际项目中实现员工请假流程的自动化管理。jbpm4是一个开源的工作流管理系统,它提供了强大的业务流程建模、执行和管理功能,使得...

    JBPM采购申请系统——08_JBPM流程节点.7z

    JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM...

    我写的一个jbpm实例

    综上所述,"我写的一个jbpm实例"是一个全面展示jbpm功能和SSH框架集成的应用案例,涵盖了流程设计、部署、执行、监控等多个方面。通过学习这个实例,读者可以加深对jbpm的理解,为实际项目开发提供参考。

    JBPM流程监控的实现过程

    本文将深入探讨如何通过手工编码方式在JBPM中实现流程监控,包括如何监控已发布流程的状态、流程实例的动态以及任务实例的执行情况。 #### 一、理解流程监控的核心需求 流程监控的核心目标在于实时掌握系统内流程...

    JBPM流程引擎资料

    这些节点的处理方式,例如如何通过decision条件或表达式进行决策,如何实现并行分支,如何结束流程实例等,都是jBPM流程设计的关键知识点。 自动活动(Automatic Activities)是流程中无需人工干预的部分,文档对于...

    jbpm4.4 工程项目实例

    【jbpm4.4 工程项目实例】是一个基于jbpm工作流引擎的Web应用程序,旨在提供一个实际操作的示例,帮助开发者了解如何在实际项目中应用jbpm。jbpm是一个开源的工作流管理系统,它支持业务流程建模、部署、执行以及...

    一个Jbpm实例代码

    7. **监听器(Listeners)**:Jbpm允许开发者定义各种监听器,比如任务监听器、流程实例监听器等,来跟踪流程执行的各个阶段,实现自定义的行为。 8. **服务任务(Service Task)**:在流程中,服务任务可以调用...

    JBPM流程引擎设计 工作流资料

    2. **流程执行**:JBPM流程引擎负责解析BPMN模型并执行流程实例。它能处理异步任务、并发分支、事件驱动的逻辑以及与外部系统交互等复杂情况。流程实例的执行是基于状态机的,每个步骤代表一个状态,通过事件触发...

    jbpm实例开发

    本篇将围绕jbPM实例开发,通过实例来解析其基本概念、流程设计和执行管理,帮助学习者深入理解并掌握jbPM的使用。 首先,jbPM实例开发的核心在于流程定义和流程执行。流程定义是一个有向图,由节点(Nodes)和转换...

    JBPM报销流程实例-完整例子

    **JBPM报销流程实例详解** JBPM(Java Business Process Management)是一种开源的工作流管理系统,用于设计、执行和管理业务流程。这个"JBPM报销流程实例"提供了一个完整的例子,可以帮助我们深入了解如何在实际...

    jbpm的一个实例

    JBPM是一个扩展性很强的工作...在这个版本里包括一个JBPM流程设计器的Eclipse插件,和一个用JBOSS作为服务器的示例流程等相关文件。解压jbpm-starters-kit-3.1.2.rar到某个特定目录,这里我们首先用到的是包里的JBPM目

    jbpm开发实例源码

    在描述中提到的"jbpm开发的小例子",可能是一个小型的流程管理系统,涵盖了jbpm的基本操作,例如创建流程定义、启动流程实例、分配和完成任务、查询流程状态等。这个实例通常会包含以下关键组件: 1. **流程模型**...

    一个Jbpm员工请假流程的实例(源代码)

    在这个实例中,我们关注的是一个基于Jbpm实现的员工请假流程。这个流程涵盖了从申请到审批的整个过程,展示了Jbpm在实际业务场景中的应用。 首先,`.classpath`和`.project`是Eclipse IDE的配置文件,它们定义了...

    jBPM4.4开发实例

    2. **流程实例(Process Instance)**:在jBPM中,流程定义是静态的,而流程实例则是动态的。当一个流程被触发执行时,就会创建一个流程实例。 3. **任务(Task)**:流程中的各个步骤称为任务,可以分配给不同角色...

    JBPM 流程 监控 的实现

    6. **使用流程审计表**:JBPM的持久化机制会将流程实例和任务的状态记录在数据库的审计表中,可以通过查询这些审计表来获取流程的运行状态,从而实现监控。 7. **设计和实现监控服务**:创建一个独立的服务,该服务...

Global site tag (gtag.js) - Google Analytics