Camunda用户任务执行失败

时间:2017-05-23 17:29:29

标签: java spring bpmn camunda workflow-engine

我在Camunda Spring应用程序中嵌入了BPMN模型。我从此网站获取的设置:https://github.com/camunda/camunda-bpm-examples/tree/master/deployment/embedded-spring-rest

我正在尝试将bmpn用户任务连接到我的应用程序并在运行整个过程时执行它。此外,我想在执行此任务时打开一个表单。不幸的是,我在尝试这样做时收到错误消息。 我做了以下配置:

在.bpmn文件的用户任务中,我添加了以下行:

<userTask id="Task_18modqk" name="fill out form" camunda:formKey="embedded:app:forms/request-loan.html" camunda:assignee="${fillOut}">

我的bpmn看起来像这样: enter image description here

然后,在应用程序上下文中,我创建了一个这样的bean:

<bean id="fillOut" class="org.camunda.bpm.example.loanapproval.FillOutForm" />

另外,我使用以下代码创建了一个与bean相关的类:     包org.camunda.bpm.example.loanapproval;

public class FillOutForm 
{
    public String fillOut() {
    return "form filled out";
 }

}

当我运行入门级时,出现以下错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.camunda.bpm.example.loanapproval.Starter#0'
ServletContext资源[/WEB-INF/applicationContext.xml]中定义的

:init方法的调用失败;嵌套异常是java.lang.ClassCastException:org.camunda.bpm.example.loanapproval.FillOutForm无法强制转换为java.lang.String

服务任务工作安静,因为相应的类实现了JavaDelegate,但我不知道如何使用与Spring bean结合的用户任务。

请给我一些帮助 提前致谢

1 个答案:

答案 0 :(得分:1)

它似乎工作,你设置$ {fillOut}映射到相关的Spring bean(&lt; .bean id =&#34; fillOut&#34; ....),但是Camunda Assignee属性需要String不一个对象......

如果您输入$ {fillout.fillout()},它应该有用。

(顺便说一下,你在做什么看起来有点奇怪;),但我也不是Camunda专家......)