将信息传递给WSO2 BPMN
我正在使用WSO2 BPMN定义一个工作流,它将与我们的应用程序集成。在实例化流程(从应用程序中)时,我需要将一些信息从应用程序传递给BPMN任务,该任务将显示在任务屏幕中。这些信息将保留在工作流的所有任务中。如何实现这一点?是的,您可以通过为每个任务(用户任务)引入表单变量来实现。但如果是服务任务,则必须编写自定义java类来读取变量,然后将其作为activiti designer中的属性添加到主配置选项卡中的类名字段中。通过服务任务读取流程变量的示例自定义java类可以实现如下。正如您在下面的代码中所看到的,employeeSalary和workingPeriod是可以从特定流程(从应用程序)传递的两个变量。您可以通过调用execution.setVariable(“variableName”,value)方法将这些变量设置为任务变量将信息传递给WSO2 BPMN,wso2,bpmn,Wso2,Bpmn,我正在使用WSO2 BPMN定义一个工作流,它将与我们的应用程序集成。在实例化流程(从应用程序中)时,我需要将一些信息从应用程序传递给BPMN任务,该任务将显示在任务屏幕中。这些信息将保留在工作流的所有任务中。如何实现这一点?是的,您可以通过为每个任务(用户任务)引入表单变量来实现。但如果是服务任务,则必须编写自定义java类来读取变量,然后将其作为activiti designer中的属性添加到主配置选项卡中的类名字段中。通过服务任务读取流程变量的示例自定义java类可以实现如下。正如您在下面
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);
}
}
希望这能解决你的问题