在已获得JbpmContext实例但未close之前,是否可以用hibernate或ibatis中的DAO?
1、调用ibatis
HashMap mapCond = new HashMap();
mapCond.put("actorId",actorId);
mapCond.put("docId",docId);
mapCond.put("state","等待审批");
List docBorrowList = docBorrowManager.searchDocumentBrrowList(mapCond);
//内部是ibatis来实现的
public List select(HashMap mapCond) {
return (List)getSqlMapClientTemplate().queryForList("selectDocBorrow", mapCond);
}
2、调用hibernate
List docBorrowList = docBorrowManager.searchDocumentBrrowList(actorId,docId,"等待审批");
//内部是hibernate实现
@Override
public List searchDocumentBrrowList(String actorId, long docId, String state) {
String hql = "select dw from DocBorrowInfo dw where dw.actorId = '"+actorId+"' and dw.docId="+docId+" and dw.state = '"+state+"'";
return this.getHibernateTemplate().find(hql);
}
前这两种一运行到这句就无法debug下去,下一步调式按钮变为灰色,点击运行也无法执行下去。
3、调用jbpmContext
List docBorrowList = jbpmContext.getSession().createQuery("from DocBorrowInfo where docId="+docId+" and actorId='"+actorId+"' and state='等待审批'").list();
而调用这种方式则没有问题,可我程序里其他地方也调用了DAO,如
/**
* 已查看确认信息结束流程
* @return
*/
public String haveGetConfirmMessage(){
String processInstanceId = this.getRequest().getParameter("processinstanceId");
String docborrowId = this.getRequest().getParameter("docborrowId");
try{
jbpmContext = jbpmConfiguration.createJbpmContext();
long id = 0;
if(null!=docborrowId&&!"".equals(docborrowId)){
id = Long.parseLong(docborrowId);
}
DocBorrowInfo documentBrrow = docBorrowManager.getDocumentBrrow(id);
//结束流程实例
String name = jbpmDelegate.nextStep(jbpmContext, Long.parseLong(processInstanceId),this.getWebUser().getUser().getName(), "结束授权");
if("结束".equalsIgnoreCase(name)){
//设置状态为“结束”
documentBrrow.setState(DocBorrowInfo.ENDSTATE);
jbpmContext.getSession().update(documentBrrow);
}
}finally{
jbpmContext.close();
}
return this.SUCCESS;
}
其中的 DocBorrowInfo documentBrrow = docBorrowManager.getDocumentBrrow(id);也是调用了hibernate的DAO中的方法
public DocBorrowInfo getDocumentBrrow(long id){
DocBorrowInfo documentBrrow = (DocBorrowInfo)this.getHibernateTemplate().load(DocBorrowInfo.class, id);
return documentBrrow;
}
现在还不知到底是何原因?
分享到:
相关推荐
- **胡奇:** 虽然对于胡奇的具体身份未给出详细信息,但可以推测胡奇应是一位有丰富经验的jBPM4用户或开发者,他编写的工作流应用开发指南获得了高度评价。 - **十分赞:** 这个评论可能来源于阅读过该指南的其他...
JBPM工作流开发指南v10-20070706.doc 是一份详细的学习文档,主要针对那些想要深入理解并使用JBPM工作流引擎的开发者。JBPM(Java Business Process Management)是一个开源的工作流管理系统,它允许开发者设计、...
jbpm工作流整合是一个关键的主题,它涉及到企业级业务流程管理(BPM)系统的实施与集成。jbpm是一个开源的工作流管理系统,它提供了一套全面的工具和框架,用于设计、执行、监控和优化业务流程。这个压缩包可能包含...
《jBPM工作流应用开发指南》是一本面向初学者的文档,旨在帮助开发者快速掌握jBPM工作流系统的开发技巧。jBMP,全称Java Business Process Management,是开源组织JBoss提供的一款用于业务流程管理(BPM)的框架,它...
### JBPM工作流开发指南知识点 #### JBPM概述 JBPM(Java Business Process Management)是一个开源的工作流管理系统,它为Java企业级应用提供流程管理能力。JBPM作为Red Hat JBoss Middleware的一部分,用于构建...
JBPM工作流开发指南v10 JBPM是一个扩展性很强的工作流系统,百分百用JAVA语言开发,持久层采用Hibernate实现,理论上说,只要Hibernate支持的数据库JBPM都支持。同时它还能被部署在任何一款JAVA应用服务器上。
jbpm是一款强大的开源工作流管理系统,由JBoss组织开发,旨在简化企业级应用中的流程开发。jbpm提供了一种直观的流程语言,用于描述商业流程,包括任务、异步通信的等待状态、定时器和自动化操作等。这种语言使得...
jBPM,全称Java Business Process Management,是Red Hat公司开发的一款开源的工作流管理系统,它提供了对业务流程的建模、执行和监控能力。jBPM不仅支持传统的工作流标准,如BPMN 2.0,还集成了Java服务、事件处理...
此外,学习如何将JBPM与EJB、Hibernate等其他企业级技术结合,也是提升开发效率的关键。 总之,"JBPM工作流全套学习资料"提供了全面的学习路径,涵盖了JBPM的所有核心功能和最佳实践。通过深入学习这些资料,开发者...
jbpm工作流引擎基于J2EE的轻量级,纯java,开源的工作流管理系统。
JBPM3.2工作流开发指南 JBPM是一个扩展性很强的工作流系统,百分百用JAVA语言开发,持久层采用Hibernate实现,理论上说,只要Hibernate支持的数据库JBPM都支持。同时它还能被部署在任何一款JAVA应用服务器上。
10. **示例与实践**:通过"我的开发JBPM经验总结.doc"、"jbpm讲解.doc"和"实例.wps"等文档,可以深入理解jbpm在实际项目中的应用,以及遇到问题的解决方法。 综上所述,jbpm工作流开发涉及流程建模、实例管理、任务...
jbpm开发指南 jbpm开发指南 jbpm 工作流 自定义
首先,我们会介绍jbpm的安装与配置,包括下载jbpm的最新版本,设置开发环境,如集成IDEA或Eclipse等开发工具,并讲解如何配置数据库连接,以便jbpm能够存储流程实例和相关数据。 接下来,视频将详述流程定义,这是...
作为工作流管理系统,JBPM使用轻量级的XML结构的流程描述语言JPDL来定义流程,相比于其他的流程引擎标准,如WfMC和BPEL,JPDL语言更加简单易懂。这一点使得JBPM更易于被开发人员理解和应用。JBPM还利用Hibernate作为...
**JBPM工作流开发** JBPM(Java Business Process Management)是一种开源的工作流管理系统,它提供了对业务流程的建模、部署、执行和监控的能力。在IT行业中,JBPM被广泛用于自动化企业的业务流程,实现流程的标准...
很详细的jBPM工作流应用开发指南(中文版) 很详细的jBPM工作流应用开发指南(中文版)