`
yzz9i
  • 浏览: 221149 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

工作流简单操作流程 【作业总结】与数据库整合实现工作流程的实现跟测试

阅读更多

插件安装
   a. link方式(快捷方式)
   b. 复制方式(不是很好,插件很大)
3.配置插件
4.创建jbpm工程
  src/test/java  用于测试包
  src/main/java  写java代码的
  src/main/config 配置文件的,如hibernate的配置..
  src/main/jpdl   用于设计流程的(重点)
 
    gpd.xml  没有多少用,设计时图片的座标
    processimage.jpg 设计生成的图片,用处不大
    processdefinition.xml 流程定义(最重要)

 

工作流插件功能说明:该插件安装了就会在重启后的Eclipse属性里面有个JBoss jBPM选项。

如何配置工作流。在JBoss jBPE选项里面有个Runtime Locations 选项 添加(Add)一个jBPM实例就ok了。

Add Location 选项框中的Location 框中若版本是jbpm-starters-kit-3.1.3请选择插件中目录文件夹:jbpm.3 

确定就可以了。

 

 

 

构建与数据库交互的Test类:

 

  public class Test extends TestCase {
 // 得到实例,读取配置文件
 private JbpmConfiguration cfg = JbpmConfiguration.getInstance();

 // 得到上下文

 private JbpmContext getContext() {

  JbpmContext context = cfg.getCurrentJbpmContext();
  if (context == null)
   context = cfg.createJbpmContext();
  
  return context;
 }

 // 创建表
 public void _testCreateTable() {
  cfg.createSchema();
 }
 
 //发布流程到数据库
 public void _testDeployProcessDefindion(){
  //查找流程
  ProcessDefinition  processDefinition = ProcessDefinition.parseXmlResource("simple/processdefinition.xml");
  processDefinition.setName("我的流程");
  //发布
        getContext().deployProcessDefinition(processDefinition);
        //提交
        getContext().close();
 }
 
 //开启新的流程实例,哪个开启,哪个就可以写报销单
 private void createProcessInstance(int pid,String name){
  //根据流程编号查找流程对象
   // getContext().getSession();
  ProcessDefinition pd = getContext().getGraphSession().getProcessDefinition(pid);
  
  //创建新的流程实例,停在start节点
  ProcessInstance   pi = pd.createProcessInstance();
  
  //保存开启者到变量
  pi.getContextInstance().setVariable("start", name);
  
  //发信号
  pi.signal();
  
  //保存
  getContext().close();
 }
 
 //调用上面方法,开启流程实例
 public void _testStartInstance(){
  createProcessInstance(1,"lgh");
 }
 
 //写报销单(哪个报,报多少,为什么报)
 private void write(String name,float money,String msg){
   //得到某某的待办列表
   List<TaskInstance> list = getContext().getTaskList(name);
   if (list!=null)
    for (TaskInstance ti : list) {
    if (ti.getName().equals("写报销单")){
     ti.setVariable("money", money);
     ti.setVariable("msg", msg);
     ti.end();
     break;
    }
   }
  
   getContext().close();
 }
 public void _testWriter(){
  write("lgh", 2000, "呷饭");
 }
 
 //领导审(要审核任务id,是否同意
 private void agree(int taskid,boolean agree){
  //根据任务id查找任务对象
  TaskInstance ti = getContext().getTaskInstance(taskid);
  
  //是否同意
  String old = (String) ti.getVariable("status");
  if (agree)
  {
   ti.end("同意");
   ti.setVariable("status", old+"(同意)");
  }
  else
  {
   ti.end("不同意");
   ti.setVariable("status", old+"(不同意)");
  }
  
  getContext().close();
 }
 
 public void _testManager(){
        agree(3, true);  
 }
 
 public static void main(String[] args) {
        Test test = new Test();
        //建表
        //test._testCreateTable();
        //发布
        //test._testDeployProcessDefindion();
        //开启
        //test.createProcessInstance(1,"lxr");
        //写报销单
        //test.write("lxr", 800, "吃脚鱼");
        //同意
        test.agree(2, true);
       
       
 }

}

分享到:
评论

相关推荐

    工作流程系统

    在J2EE(Java 2 Platform, Enterprise Edition)平台上,一个典型的工作流程系统常常采用STRUTS、SPRING、HIBERNATE和QUARTZ等技术栈构建,配合MYSQL作为数据库来存储和管理数据。现在我们详细探讨这些技术及其在...

    基于Java学生在线作业管理系统设计与实现.docx

    ### 基于Java的学生在线作业管理系统设计与实现 #### 1. 研究背景与现状 随着信息技术的快速发展,计算机辅助教学和远程教育变得越来越普遍,这为传统教学方式带来了变革。针对当前许多高校面临的作业管理难题,...

    办公OA系统2020-适合毕设,大作业、实训项目包含完整源码以及数据库文件.rar

    - 工作流:定义审批流程,自动流转任务。 - 通知公告:发布、查看各类通知和公告。 - 会议管理:预约、安排、记录会议信息。 - 事务管理:待办事项、日程安排、任务分配。 5. **开发工具与框架** 开发过程中...

    [浪曦原创]Struts2.Hibernate3.2.Spring2.0整合续二(风中叶)

    6. 测试整合:创建简单的应用场景,验证SSH整合是否成功,如CRUD操作。 教程可能还会涉及工作流系统的实现,这通常需要结合Struts2的表单和动作,Spring的服务层以及Hibernate对数据的持久化处理。"作业.txt"可能...

    kettle 读取job 和流程

    它以其图形化的工作流设计和灵活的数据处理能力而受到广泛欢迎。"Job" 和 "Trans" 是Kettle中的两个核心概念。 **Job(工作流)** 是Kettle中的高层次工作单元,它定义了一组任务的执行顺序和逻辑。Job 主要用于...

    Activiti6 中文 用户指南 操作手册 开发API

    Activiti6是一款强大的工作流引擎,专为Java开发人员设计,尤其适合初学者。它提供了丰富的功能,包括流程定义、部署、执行以及监控等。本指南将深入介绍Activiti6的各项核心概念和操作。 1. **简介** - **执照**...

    基于Springboot+Vue框架的工作流程管理系统源码案例设计.zip

    该项目可能包含从需求分析、系统设计、编码实现到测试部署的完整流程,为学习者提供了实际操作的机会,尤其适合学生进行毕业设计或期末大作业的实践。 Spring Boot是Spring框架的一个扩展,旨在简化Java Web应用的...

    毕业论文ssm282学生学情预警系统的设计与实现+vue论文.doc

    学生学情预警系统通过整合各类学习数据,如考试成绩、出勤率、作业完成情况等,为教育者提供及时、全面的信息支持,以便于及时发现学生的学习困扰,实施个性化的教学干预。此外,系统还能减轻教师的工作负担,使他们...

    基于springboot的教学资源库源码数据库.doc

    ### 基于Springboot的教学资源库系统设计与实现 #### 概述 随着社会进步与教育行业的快速发展,人们对于教育质量的要求不断提高。在互联网普及的今天,教学模式正在逐步向网络化转变,各大高校纷纷引入网络教学...

    基于物联网技术的农机作业参数采集器的设计与试验.pdf

    标题《基于物联网技术的农机作业参数采集器的设计与试验》表明本文的主旨是设计并测试一款新型的农机作业参数采集器。这项研究的目的是利用物联网技术改进农业机械化过程,进而促进中国农业的整体现代化。本文的重点...

    信息系统小组作业——Python医院信息系统.zip

    本篇将详细探讨基于Python的医院信息系统的设计与实现,旨在提供一个全面的视角,帮助读者理解和掌握相关知识。 一、Python语言基础 Python以其简洁明了的语法和丰富的库支持,成为开发信息系统的首选语言之一。其...

    广告公司管理软件

    广告公司管理软件通过整合工作流、财务流、物流和信息流,形成了一个统一的数据处理平台。 1. **工作流**:指因工作任务而产生的流程,如任务分配、进度跟踪等。 2. **财务流**:涵盖预算编制、成本核算、费用报销...

    《电子政务形考作业2》答案借鉴.pdf

    系统性质包括以信息处理为核心,人机协作,统一性,工作流自动化,智能性,以及开放性。电子政务系统规划需考虑综合性、系统性、变革性和可持续性,确保与政府发展战略一致。 系统设计时,应关注政府职能的合理体现...

    kettle的图形工具(Spoon)

    Spoon是Kettle的主要图形用户界面(GUI),它为用户提供了一个直观的工作环境,用于设计、测试和调度数据转换和工作流。通过Spoon,用户无需编写一行代码就能完成复杂的数据处理任务,极大地降低了ETL工作的技术门槛...

    activiti5中文指南

    Activiti是一个开源的业务流程管理(BPM)平台,它为业务流程和工作流自动化提供了强大的支持。Activiti 5是一个较早的版本,而提供的这份中文指南详细地介绍了如何使用Activiti 5,从而让用户快速地掌握这一工具。 ...

    DataStage_Guide_CN.rar_DataStage_Guide_CN_dataStage_datastage pr

    - **Job Flows**: 复杂的作业结构,由多个简单作业组成,支持工作流的管理。 - **Testing and Debugging**: 提供预览、调试和测试功能,确保数据质量。 **5. 数据源和目标** DataStage支持多种数据源,包括关系型...

    学生教务管理系统作业.pdf

    【学生教务管理系统后台数据库设计】 本实验的目标是让学生深入理解...通过这样的课程设计,学生不仅可以巩固数据库理论知识,还能实际操作数据库管理系统,体验软件工程的设计过程,为未来从事相关工作打下坚实基础。

    storm+kafka+jdbc整合实例

    在大数据处理领域,Storm、Kafka以及JDBC的整合是一个常见的需求,用于实现实时数据流处理、消息队列和数据库交互。以下是对这个整合实例的详细解释。 首先,让我们来了解一下这三个组件: 1. **Apache Storm**:...

    电子政务平时作业.pdf

    电子政务系统的设计与实施分为准备阶段(团队建立、调查研究、方案制定)、系统分析阶段(组织结构分析、工作流程分析、信息资源分析、信息流程分析)、系统设计阶段(体系设计、功能模块设计、数据库设计、界面设计...

Global site tag (gtag.js) - Google Analytics