`
j2ee_zhongqi
  • 浏览: 209556 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

部署JBPM 流程

    博客分类:
  • JBPM
阅读更多
JBPM流程开发完成之后,首先需要部署流程,才可以运行。
/* 
package com.ibm.cdl.scst.service;

import org.apache.log4j.Logger;
import org.jbpm.JbpmContext;
import org.jbpm.JbpmException;
import org.jbpm.graph.def.ProcessDefinition;
import org.springmodules.workflow.jbpm31.JbpmCallback;

import com.ibm.cdl.scst.BaseTestCase;

public class ProcessDefinitionDeploymentTest extends BaseTestCase {
	static Logger logger = Logger.getLogger(ProcessDefinitionDeploymentTest.class);
	
	private ProcessService processService;
	
	/*
	 * 注意流程间的顺序: 子流程在前, 父流程在后; 
	 * 此处的名字对应于在Spring为流程定义所定义的Bean的名字
	 */
	private String [] processDefinitionBeanNames = { //please make sure the order
			"subSunsetProcessDefinition",
			"systemSunsetProcessDefinition"
			
	};
	
	public void setProcessService(ProcessService processService) {
		this.processService = processService;
	}

	public void testDeploymentOnly() {
		logger.debug("Start deploying the process definition....");
		deployDefinitionByNames(processDefinitionBeanNames);
		this.setComplete();
	}

	
	/**
	 * 对给定的流程进行发布
	 * <p>
	 * <strong>注意:</strong> 目前使用procesService的deployProcess时出现获取不到当前context的情况, 因此采用此方式加以实现;
	 * </p> 
	 * 
	 * @param defNames
	 * 			为待发布流程所定义的Spring Bean的名字
	 * @return	流程定义发布结果
	 */	
	private Boolean deployDefinitionByNames(final String [] defNames){
		return (Boolean)processService.execute(new JbpmCallback(){
			public Object doInJbpm(JbpmContext context) throws JbpmException {
				for(int i = 0; i < defNames.length; i ++){
					ProcessDefinition pdf = (ProcessDefinition) getApplicationContext().getBean(defNames[i],
							ProcessDefinition.class);
					try {
						context.getGraphSession().deployProcessDefinition(pdf);
					} catch (Exception e) {
						if(logger.isDebugEnabled()){
							logger.debug("Deploy definition failed. ", e);
						}
						return Boolean.FALSE;
					}
					logger.debug("Deploying the process definition: " + defNames[i]);
				}
				
				return Boolean.TRUE;
			}
		});
	}
}
分享到:
评论

相关推荐

    JBPM流程引擎资料

    综上所述,《JBPM流程引擎资料》为开发者提供了一套全面且深入的jBPM流程引擎使用指南,涉及了从安装部署到流程设计再到流程运行和监控的整个生命周期。通过学习和掌握这些知识,开发者可以高效地构建出符合业务需求...

    jbpm流程部署文件

    【jbpm流程部署文件】详解 jbpm(Java Business Process Management)是一种开源的工作流管理系统,用于实现业务流程自动化。在jbpm中,流程部署是将流程定义文件转换为可执行的流程实例的关键步骤。以下是对jbpm...

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

    JBPM流程引擎设计是IT领域中的一个重要知识点,尤其对于那些希望理解和实施企业级工作流管理系统的人员来说,它是不可或缺的。 1. **流程建模**:JBPM支持BPMN 2.0(Business Process Model and Notation)标准,这...

    jbpm流程设计器

    使用jbpm流程设计器,开发者可以有效地设计出符合业务需求的流程模型,将其部署到jbpm服务器上,然后由jbpm引擎负责流程的执行和管理工作。在整个过程中,jbpm流程设计器扮演着桥梁的角色,连接了业务分析师和开发...

    JBPM流程监控的实现过程

    ### JBPM流程监控的实现过程详解 JBPM作为一款由JBOSS公司推出的开源工作流管理工具,以其强大的功能和灵活性赢得了众多开发者的青睐。尽管如此,JBPM原生并未直接提供流程监控功能的API,这无疑给那些希望在企业...

    JBPM 流程 监控 的实现

    4. **集成第三方监控工具**:可以将JBPM与像Prometheus、ELK Stack(Elasticsearch、Logstash、Kibana)等监控工具集成,通过这些工具的强大分析能力来实现对JBPM流程的性能监控和故障排查。 5. **扩展jbpm-console...

    jbpm实战讲解.pdf

    **1.3 部署JBPM流程定义** - 覆盖了使用Ant和API两种方式部署流程定义的方法,确保流程可以在JBPM环境中正确执行。 **1.4 模拟借款申请与审批** - 提供了一个具体案例——借款申请流程,深入讲解了JBPM服务API...

    JBPM-学生管理系统

    部署JBPM流程涉及到以下步骤: - **创建KieSession**: KieSession是JBPM的核心接口,它代表了一个运行时环境,可以创建、启动和管理流程实例。 - **加载流程定义**: 使用KieServices加载.bpmn2文件,并将其转换为...

    eclipse3.4解压版带jbpm流程定义插件

    在提供的压缩包"eclipse3.4解压版带jbpm流程定义插件"中,用户无需安装,仅需解压即可开始使用,这极大地简化了部署过程。这意味着Eclipse 3.4已经被配置好,集成了jbpm的相关库和插件,用户可以直接打开Eclipse进行...

    JBPM流程框架源码

    **JBPM流程框架源码详解** JBPM,全称Java Business Process Management,是一个开源的工作流管理系统,用于构建和管理业务流程。它提供了丰富的API、工作流建模工具以及执行引擎,使得开发者能够轻松地实现复杂...

    jBPM-jPDL学习笔记——流程设计与控制(转载)

    部署jBPM流程通常涉及将流程定义文件(.bpmn或.jpdl)和相关的Java类打包到一个可部署单元,如JAR或WAR文件,然后将其部署到服务器上。 7. **工具支持**: 虽然jPDL是基于文本的,但有一些工具,如jBPM Workbench...

    jbpm-6.1.0.Final-installer

    3. **Kie工作台**:Kie Workbench是一个集成的开发环境,允许开发者创建、测试和部署jBPM流程。它集成了流程建模、规则编辑、决策表(DTable)和决策服务(DMN)等功能。 4. **kie-server**:Kie Server是jBPM服务...

    jbpm流程图状态显示

    【jbpm流程图状态显示】是关于jbpm工作流管理系统中的一个重要话题,它涉及到如何在图形界面中实时呈现流程实例的状态。jbpm是一款开源的工作流管理系统,它允许开发者设计、执行和管理业务流程。在jbpm中,流程图是...

    jbpm流程监控的实现

    1. **部署流程定义**:jbpm流程的起点是定义流程模型。这通常通过BPMN2(Business Process Model and Notation)标准来完成,jbpm支持通过图形化工具(如Eclipse BPMN2插件)进行建模。流程定义文件(.bpmn2)需要...

    jbpm-3.1.4部署jbpm的jar包和moudle的jar包

    部署jbpm-3.1.4时,通常遵循以下步骤: 1. **设置环境**:确保你的开发环境已经安装了Java运行环境,并且配置了相应的环境变量。 2. **下载jbpm-3.1.4**:从官方网站或者镜像站点下载jbpm的3.1.4版本。解压缩后,...

    jbpm业务流程

    7. **API和工具**:jbpm提供了丰富的API和开发工具,如jbpm Workbench,使得开发者能够方便地进行流程建模、部署和调试。 在"jbpmTest"这个压缩包文件中,可能包含了以下内容: - **流程模型文件**:例如`.bpmn`...

    jbpm流程自定义

    jbpm流程自定义 jbpm(Java Business Process Management)是一个开源的工作流和业务流程管理系统,它允许开发者设计、执行和管理业务流程。jbpm的核心功能包括工作流引擎、流程建模工具、流程实例管理和监控、任务...

    JBPM4.4完整可用审批流程

    在开发和部署BPM流程时,错误和异常是常见的,如任务未找到、流程实例无法启动、数据库连接问题等。这些报错指南可能是开发者根据经验总结出的常见问题解决方案,或者是官方文档中的错误处理部分,对于快速定位和...

    JBPM学习资料step by step

    - **流程部署:** 如何部署JBPM流程。 - **客户端调用:** 如何创建一个客户端来调用已部署的JBPM流程。 - **与Drools的集成:** 如何将规则引擎Drools与JBPM集成起来,以实现更复杂的业务逻辑处理。 **总结:**...

    JBOSS部署JBPM.doc

    JBOSS 部署 JBPM 工作流业务流程管理技术是基于 SOA 技术实现的一个核心部分。使用工作流能够在软件开发和业务两个层次受益。jBPM 全称是 Java Business Process Management,是一种基于 J2EE 的轻量级工作流管理...

Global site tag (gtag.js) - Google Analytics