0

我在 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";
 }

}

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

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 结合使用。

请给我一些帮助提前谢谢

4

1 回答 1

1

它似乎有效,您设置了 ${fillOut} 映射到相关的 Spring bean (<.bean id="fillOut"....),但是 Camunda Assignee 属性需要一个字符串而不是一个对象...

如果你输入 ${fillout.fillout()} 它应该可以工作。

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

于 2017-05-27T15:25:41.217 回答