我在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如下所示:

然后,在应用程序上下文中,我创建了一个bean,如下所示:
<bean id="fillOut" class="org.camunda.bpm.example.loanapproval.FillOutForm" />
另外,我用以下代码创建了一个与bean相关的类: package org.camunda.bpm.example.loanapproval;
public class FillOutForm
{
public String fillOut() {
return "form filled out";
}
}当我运行starter类时,我得到以下错误:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.camunda.bpm.example.loanapproval.Starter#0'在org.camunda.bpm.example.loanapproval.FillOutForm资源/WEB-INF/ ServletContext Context.xml中定义:调用init方法失败;嵌套异常为java.lang.ClassCastException:不能强制转换为java.lang.String
服务任务工作得很好,因为相应的类实现了JavaDelegate,但我不知道如何将用户任务与Spring beans结合使用。
请提前给我一些帮助谢谢
发布于 2017-05-27 23:25:41
它似乎起作用了,您设置了${fillOut},它映射到相关的Spring bean (<.bean id="fillOut"....),但是Camunda Assignee属性需要一个字符串,而不是一个对象...
如果您键入${fillout.fillout()},它应该可以工作。
(顺便说一下。你在做什么看起来有点奇怪;),但我也不是卡蒙达专家……)
https://stackoverflow.com/questions/44141407
复制相似问题