Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将信息传递给WSO2 BPMN_Wso2_Bpmn - Fatal编程技术网

将信息传递给WSO2 BPMN

将信息传递给WSO2 BPMN,wso2,bpmn,Wso2,Bpmn,我正在使用WSO2 BPMN定义一个工作流,它将与我们的应用程序集成。在实例化流程(从应用程序中)时,我需要将一些信息从应用程序传递给BPMN任务,该任务将显示在任务屏幕中。这些信息将保留在工作流的所有任务中。如何实现这一点?是的,您可以通过为每个任务(用户任务)引入表单变量来实现。但如果是服务任务,则必须编写自定义java类来读取变量,然后将其作为activiti designer中的属性添加到主配置选项卡中的类名字段中。通过服务任务读取流程变量的示例自定义java类可以实现如下。正如您在下面

我正在使用WSO2 BPMN定义一个工作流,它将与我们的应用程序集成。在实例化流程(从应用程序中)时,我需要将一些信息从应用程序传递给BPMN任务,该任务将显示在任务屏幕中。这些信息将保留在工作流的所有任务中。如何实现这一点?

是的,您可以通过为每个任务(用户任务)引入表单变量来实现。但如果是服务任务,则必须编写自定义java类来读取变量,然后将其作为activiti designer中的属性添加到主配置选项卡中的类名字段中。通过服务任务读取流程变量的示例自定义java类可以实现如下。正如您在下面的代码中所看到的,employeeSalaryworkingPeriod是可以从特定流程(从应用程序)传递的两个变量。您可以通过调用execution.setVariable(“variableName”,value)方法将这些变量设置为任务变量


    package org.wso2.bps.serviceTask;

    import java.util.Random;

    import org.activiti.engine.delegate.DelegateExecution;
    import org.activiti.engine.delegate.JavaDelegate;

    /**
     * Service task to calculate Bonus for employees
     *
     */
    public class App implements JavaDelegate {
        public void execute(DelegateExecution execution) throws Exception {
            int salary = Integer.parseInt((String) execution.getVariable("employeeSalary"));
            int numOfWorkingDays = Integer.parseInt((String) execution.getVariable("workingPeriod")); 
            Random randomGenerator = new Random();
            int value = randomGenerator.nextInt(10);
            int result = salary + (numOfWorkingDays * value);
            execution.setVariable("result", result);
        }
    }

希望这能解决你的问题