使用JBPM5时,我已经建模了一个进程,onStart会转到RuleTask。
Map<String, Object> params = new HashMap<String, Object>();
params.put("citizenName", "Nannak");
params.put("citizenAge", 23);
ksession.startProcess("com.sample.medicalcheckup", params);
如何在“段”中访问“规则”中的“citizenAge”?
提前致谢!
答案 0 :(得分:1)
必须在规则任务之前添加脚本任务,该任务获取进程参数并插入到KnowledgeContext。
org.drools.runtime.process.WorkflowProcessInstance process = org.drools.runtime.process.WorkflowProcessInstance)kcontext.getProcessInstance();
System.out.println(process.getVariable("citizen"));
kcontext.getKnowledgeRuntime().insert(process);
希望我也可以在开始这个过程之前做同样的事情。
感谢提供的示例here
答案 1 :(得分:0)
在drools 6中你可以使用它:
drools.getContext(org.kie.api.runtime.process.ProcessContext.class).getVariable( “processParam1”)