我在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}">
然后,在应用程序上下文中,我创建了一个这样的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结合的用户任务。
请给我一些帮助 提前致谢
答案 0 :(得分:1)
它似乎工作,你设置$ {fillOut}映射到相关的Spring bean(&lt; .bean id =&#34; fillOut&#34; ....),但是Camunda Assignee属性需要String不一个对象......
如果您输入$ {fillout.fillout()},它应该有用。
(顺便说一下,你在做什么看起来有点奇怪;),但我也不是Camunda专家......)