网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > J2EE/J2ME
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.在MySQL中添加数据库.
.对RMS中的数据进行排序.
.MIDP 2.0安全机制 与 MIDlet 数字.
.手机中文码制问题的一点理解.
.有效的EJB:让EJB为您工作.
.手机上通用的UTF8转换程序.
.J2ME再现华容道.
.基于weblogic的ejb学习笔记二.
.RMS从入门到精通之三.
.JSP中tomcat的SQLServer2000数据.
.无线标记语言(WML)基础之编程方法.
.实例说明锚点位置的定义.
.利用Filter检查Request参数.
.基于MIDP1.0实现RMS容量探测器.
.使用Netbeans IDE集成Motorola J.
.BlueTooth探索系列(二)---发现.
.UniJa2.1声音播放问题(MIDI格式.
.J2EE架构的6个最佳实践.
.无线标记语言(WML)基础之基本知识.
.EnterpriseJavaBeansDistilled...

JBPM数据库中取得这个流程实例,如果有没有完成的流程,就让它进入下一步

发表日期:2007-12-23



  // 这里的代码可以放在消息驱动Bean里面。

  // 让我们开始一个session
  JbpmSession jbpmSession = jbpmSessionFactory.openJbpmSession();
  // 在持久化session上开始一个事务的时候,这里有可使用WEB应用中的DataSource来取得一个数据库session.
  jbpmSession.beginTransaction();
  GraphSession graphSession = jbpmSession.getGraphSession();

  // 首先,我们需要在数据库中把流程提取出来.
  // 这里有很多方法可以用来取得我们需要的流程实例。
  // 一个最简单方法就是在流程的实例列表里面查询。
  ProcessDefinition processDefinition = graphSession
    .findLatestProcessDefinition("hello world");

  // 现在查询所有的流程实例。
  List<ProcessInstance> processInstances = graphSession
    .findProcessInstances(processDefinition.getId());

  // 我们知道在这里单元测试里面只有一个执行,所以下面我们直接get(0)。
  // 而在实际工作中,我们这里需要通过ID来确定我们所需要的流程实例。
  ProcessInstance processInstance = null;
  for (ProcessInstance pi : processInstances) {

   if (!pi.hasEnded()) {
    pi.signal();
    //AssertJUnit.assertTrue(pi.hasEnded());
   }

}

  // 好了,现在我们可以继续执行。注意,这里processInstance
  // processInstance.signal();

  // 完成signal以后,我们的流程就到达end-state状态点了。
  // AssertJUnit.assertTrue(processInstance.hasEnded());

  // 现在可以更新数据库里面流程状态点。
  // graphSession.saveProcessInstance(processInstance);

  // 事务提交
  jbpmSession.commitTransaction();
  // 关闭session
  jbpmSession.close();

(出处:)


上一篇:jBPM载入定义的流程的方法 人气:792
下一篇:jBPM实例化一个流程 人气:1304
浏览全部J2EE/J2ME的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐