2017-04-06 71 views
0

我有一个在Spring应用程序中定义的组件,需要从Activiti引用,组件名称包含中间的点,我如何引用bean名称?Activiti + Spring

组件

@Component("com.example.LoadUserData") 
public class LoadUserData extends ActivitiAPI 

Activiti的模型:

<serviceTask id="loadUserData" name="Load User Data" activiti:expression="#{com.example.LoadUserData}"> 
+0

这EL表达式解析器您使用的是什么样的? – rptmat57

+0

我没有更改activiti的任何默认配置,我在Spring Boot中使用activiti – adevedo

回答

0

我还没有真正尝试与“点”之名的表达式中,所以我不能确定使用一个bean这是为什么失败。(你得到的错误是什么?)

但是,如果它失败了,我想如果你创建一个Activiti JavaDelegate类来包装你的逻辑,然后自动装入你的bean到cl屁股。 可能不是你正在寻找的东西,但会推动你前进。

格雷格

0

我宣布一个Spring bean与@Service注释下面

import org.springframework.stereotype.Service; 
import com.chvps.message.model.Document; 
@Service 
public class EnricherTask { 
public void execute(Document document) { 
     System.out.println("Enricher task executed"); 
    } 

} 

使用同一个bean Activiti中像下面

<serviceTask id="servicetask2" name="Enrich Task" activiti:expression="#{enricherTask.execute(document)}"></serviceTask>