【问题标题】:JBPM 5 - Process Instance Variable Change CommandJBPM 5 - 流程实例变量更改命令
【发布时间】:2013-04-24 07:17:11
【问题描述】:

如何在 JBPM 中设置/修改正在运行的流程实例的流程实例变量? 是否有任何预定义的命令类来设置流程实例变量?

我可以看到一些命令,例如org.drools.command.SetVariableCommandFromLastReturn && org.drools.command.SetVariableCommandFromCommand

我可以使用这些命令吗?这个命令怎么用?

【问题讨论】:

    标签: drools jbpm


    【解决方案1】:

    到目前为止,我正在使用 GenericCommand 更新这样的变量。

    kSession.execute(new GenericCommand<Boolean>() {
                public Boolean execute(Context context) {
                    //Get session in the command context
                    StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
                    //Get the process instance
                    ProcessInstance processInstance = (ProcessInstance) ksession.getProcessInstance(processInstanceId);
                    //Get variable scoprts
                    VariableScopeInstance variableScope = (VariableScopeInstance) processInstance.getContextInstance(VariableScope.VARIABLE_SCOPE);
                    Iterator<String> piStateItr=piStateVariables.keySet().iterator();
                    //Modify required variables
                    while(piStateItr.hasNext()){
                        String variableName=piStateItr.next();
                        String variableValue=piStateVariables.get(variableName);
                        logger.debug(">>> Setting State - key "+variableName +" , to "+variableValue );
                        variableScope.setVariable(variableName, variableValue);
                    }
                    return true;
                }
            });
    

    【讨论】:

    • 您好,感谢您的代码,我也遇到了同样的问题。您如何检索 processInstanceId 变量?
    • @ocramot , processInstanceId 是包含给定代码的方法的输入。
    • 嗨,有人可以告诉我这是否有效,因为我在 jbpm 6.2 和外部会话执行中尝试过,在执行此操作后流程变量也具有旧值。我的意思是在 session.execute 完成后的代码中,当我尝试获取变量值时,它仍然给我旧值。请帮忙.. !!紧急!!
    猜你喜欢
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-10
    相关资源
    最近更新 更多