package com.test;
import java.util.List;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.taskmgmt.exe.TaskInstance;
public class Test1 {
//创建config对象(连接数据库)
private static JbpmConfiguration config = JbpmConfiguration.getInstance();
// JbpmConfiguration con=JbpmConfiguration.getInstance();
//创建jbpmContext对象
private static JbpmContext getContext(){
JbpmContext context = config.getCurrentJbpmContext();
if (context==null)
context = config.createJbpmContext();
return context;
}
//创建表(如果表存在就先删除)
public static void createTable(){
config.createSchema();
}
//发布流程(写数据库)
public static void deplydefine(){
//根据xml文件生成流程
ProcessDefinition pd = ProcessDefinition.parseXmlResource("simple/processdefinition.xml");
//发布
getContext().deployProcessDefinition(pd);
getContext().close();
}
//实例化流程
public static void newInstance(String name){
//得到“报帐"的流程定义
ProcessDefinition pd = getContext().getGraphSession().findLatestProcessDefinition("报账");
//创建"流程实例"
ProcessInstance pi = pd.createProcessInstance();
//把创始人保存起来
pi.getContextInstance().setVariable("initId", name);
//发信号,下一步
pi.getRootToken().signal();
getContext().close();
}
//写报销单:谁+报多少+原因
public static void write(String name,Float money,String msg){
//得到自己所有没有完成任务
List<TaskInstance> tis =
getContext().getTaskList(name);
// System.out.println(tis.size()+"");
for (TaskInstance ti:tis){
System.out.println(ti.getName()+"\t"+ti.getActorId());
if (ti.getName().equals("写报销单"))
{
System.out.println(ti.getActorId());
ti.getContextInstance().setVariable("money", money);
ti.getContextInstance().setVariable("msg", msg);
ti.end();//结束
}
}
getContext().close();
}
//部门同意否
public static void agree(int id, boolean f){
//根据编号找任务
TaskInstance ti = getContext().getTaskInstance(id);
if (f)
ti.end("同意");
else
ti.end("不同意");
getContext().close();
}
public static void main(String[] args) {
// getContext();
// createTable();
// deplydefine();
// newInstance("请假");
write("请假",100f,"国庆休假");
// agree(2, false);
}
}
分享到:
- 2008-11-15 22:50
- 浏览 1374
- 评论(1)
- 论坛回复 / 浏览 (1 / 4359)
- 查看更多
相关推荐
本教程将深入探讨jBMP的核心概念,包括流程定义语言、业务日历以及流程建模,帮助初学者快速入门。 一、jBPM流程定义语言 jBPM采用的是BPMN 2.0(Business Process Model and Notation)标准,这是一种图形化的流程...
1. **流程建模**:jbmp支持BPMN(Business Process Model and Notation)标准,使得流程模型可以图形化表示,提高业务流程的可读性和理解性。开发者可以通过拖拽方式设计流程图,简化了流程设计过程。 2. **持久化...
jbmp的用户指南,如《jBPM4_3用户指南.pdf》,通常会详细讲解如何安装和配置jbmp环境,介绍如何使用工具进行流程设计,以及如何在Java应用程序中集成和调用jbmp服务。此外,指南还会包含实例演示,帮助用户理解如何...
5. **集成能力**:JBMP可以方便地与企业应用集成,如EJB、JMS、JPA等,确保业务流程能够在整个企业架构中无缝运行。 6. **监控和报表**:提供监控工具和报表功能,帮助企业管理员监控流程的执行情况,分析性能,...
工作流技术在企业管理中起着关键作用,它能够自动化处理复杂的业务流程,提高工作效率。尽管目前尚无统一的标准,但工作流框架的需求日益增长,尤其是在需要多步骤审批、协同工作的场景中。jbpm是一个开源的工作流...
在jPDL中,与流程设计相关的文件有三个:processdefinition.xml、gdp.xml、processimage.jpg。其中processdefinition.xml是流程定义的描述文件;gpd.xml是对图形界面呈现的XML描述;而 processimage.jpg则是对图形...
JBMP 5.3 版本是JBoss工作流管理系统的一个重要里程碑,它带来了许多增强功能和优化。这个开发手册将帮助开发者深入了解如何在JBoss环境中集成和使用JBM进行业务流程的管理和实现。 1. **JBM5.3.chm** - 这个CHM...
而JBMP4(Java Business Management Process 4)是一个用于业务流程管理的工具,它可以与SSH框架集成,实现业务流程自动化。 1. Spring框架:Spring的核心是IoC(Inversion of Control)和AOP(Aspect Oriented ...
例如,`<process>`元素代表整个流程,而`<swimlane>`元素定义了流程中的参与者或角色。 2. **识别节点和转换**:在JPDL文件中,你会找到诸如`<action>`、`<event>`、`<condition>`等节点,它们分别对应流程中的动作...
jbmp oa_oa_oa ssh"表明这是一个与OA(Office Automation,办公自动化)系统相关的压缩文件,其中包含了使用SSH(Spring、Struts、Hibernate)框架和JBMP(Java Business Management Process,Java业务管理流程)...
7. **开发流程**:使用JBMP插件,开发者可以创建EJB组件,定义实体Bean,设置持久化属性,以及创建数据访问对象(DAO),通过这些对象与数据库交互。插件通常会自动生成相应的SQL语句和访问方法,简化开发过程。 8....
JBMP(Java Business Management Process)是Java业务流程管理的一种实现,它提供了一套框架用于定义、执行和监控业务流程。本文档将深入介绍JBPM5.1版本,帮助读者从入门到掌握其核心功能。 1. 简介 JBPM是开源的 ...
【描述】"网上销售系统,Jbmp的应用例子,有流程开发的例子"表明此项目不仅是一个完整的网上销售系统,还包含了使用JBPM进行流程开发的实际案例。这为我们提供了一个学习和实践工作流管理的宝贵平台,尤其是对于那些...
jbpm4生成流程图,根据每个不同的流程轨迹把连线变成红色。
学习工作流和JBMP,你需要理解如何设计和定义业务流程,例如使用流程图表示活动、决策和流程分支;了解如何使用JBPM的工具创建和部署流程定义;熟悉任务分配和审批机制;并掌握监控和分析流程执行情况的方法,以便...
JBMP(Java Business Management Process)是早期的一个Java业务流程管理框架,它主要用于在Java应用中实现工作流管理。jbpm 3.0是该框架的一个版本,旨在提供一个灵活且可扩展的平台,用于设计、执行和管理业务流程...
通过这个【JBMP练习例子】,开发者可以学习如何配置和使用JBPM框架,创建和部署流程,以及如何在实际业务场景中利用其强大的流程管理能力。同时,这也为开发者提供了在真实环境中测试和调试JBPM流程的机会,从而提高...
关于JBoss JBMP-java工作流用户开发手册
【jbmp文档】 jbpm(Java Business Process Management)是一个开源的工作流和业务流程管理系统,它提供了对企业级工作流和业务规则的全面支持。jbpm旨在帮助开发者和业务分析师设计、执行、监控和优化业务流程。...