jbpm java节点_jbpm4 java节点动态传参

本文档展示了如何在JBPM流程中通过上下文传递参数到Java节点。作者提供了一个流程定义文件、Java节点代码以及启动流程的Main方法示例,详细解释了如何设置变量并传递给Java节点,以便在Java代码中访问和打印这些参数。
摘要由CSDN通过智能技术生成

http://www.jboss.org/feeds/post/jbpm_4_0_cr1_released

JBPM-2279 https://jira.jboss.org/jira/browse/JBPM-2279

今天参考Schema实践了一把,终于找到了能将上下文中参数传递到java节点中的方法,流程源文件(对源文件进行了少许修改,如有错误请自行调试)如下

1. 流程定义文件:

2. java节点文件:

package com.synnex.jbpm.test.java;

import java.util.List;

import org.apache.log4j.Logger;

import org.jbpm.pvm.internal.env.ExecutionContext;

public class TestOperator {

public boolean doCreate(String batchNo, List l){

try{

System.out.println("----------------------------------------------batchNo = " + batchNo);

System.out.println("----------------------------------------------list[1] = " +(String)l.get(0));

}catch(Exception e){

e.printStackTrace();

}

return true;

}

}

3. Main:

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import org.jbpm.api.Configuration;

import org.jbpm.api.ExecutionService;

import org.jbpm.api.HistoryService;

import org.jbpm.api.ManagementService;

import org.jbpm.api.ProcessEngine;

import org.jbpm.api.ProcessInstance;

import org.jbpm.api.RepositoryService;

import org.jbpm.api.TaskService;

public class Test {

/**

* @param args

*/

public static void main(String[] args) {

Test test = new Test();

test.deploy();

test.start();

}

ProcessEngine processEngine = new Configuration()

.buildProcessEngine();

RepositoryService repositoryService = processEngine.getRepositoryService();

ExecutionService executionService = processEngine.getExecutionService();

TaskService taskService = processEngine.getTaskService();

HistoryService historyService = processEngine.getHistoryService();

ManagementService managementService = processEngine.getManagementService();

//发布流程

public void deploy(){

long deploymentDbid = repositoryService.createDeployment()

.addResourceFromClasspath("com/synnex/jbpm/test/processes/test.jpdl.xml")

.deploy();

System.out.println(deploymentDbid);

}

//启动流程

public void start(){

Map variables = new HashMap();

//设置两个变量,一个字符串,一个List,传给Java节点

List l = new ArrayList();

l.add("Hello, I am a String~");

variables.put("batchNo", "12");

variables.put("list", l);

ProcessInstance pi = executionService.startProcessInstanceByKey("test", variables);

}

}

2

0

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2009-06-08 17:49

浏览 4830

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值