我正在使用Alfresco和Activiti工作流程。我的工作流程之一需要连接到外部数据库并获取一些用户名。这些用户名将是分配给某些工作流程任务的用户。

目前,我的“解决方案”是使用JDBC创建一个Java类以检索所需的用户名,并创建一个调用该Java类的服务任务,但是我不知道如何继续。

我正在寻找解决方案,但没有找到任何东西。有任何建议吗?

谢谢。

最佳答案

您的Java服务任务类应实现接口org.activiti.engine.delegate.JavaDelegate,该接口将DelegateExecution传递给其execute方法。

DelegateExecution对象上,可以调用setVariable设置工作流程变量。

public class MyServiceTask implements JavaDelegate {
    @Override
    public void execute(DelegateExecution execution) {
        // Do something to get the data for your variable
        Object value = ...;

        // Set the variable
        execution.setVariable("VARNAME", value);
    }
}


请参见Activiti user guideAPI documentation

关于java - 从Java类将变量设置为Activiti,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39270959/

10-12 12:53