我正在使用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 guide和API documentation。
关于java - 从Java类将变量设置为Activiti,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39270959/