Activiti 进程未使用 Spring Boot 部署

Man*_*anu 2 java activiti spring-boot

我正在使用 Spring Boot,我正在尝试部署一个非常简单的过程。

我试图把过程定义放置一个名为文件夹中processessrc/main/resources。不确定是否有效,我还尝试手动部署流程定义。

过程是:

<?xml version="1.0" encoding="UTF-8"?>
<definitions
        xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
        xmlns:activiti="http://activiti.org/bpmn"
        targetNamespace="MyProcessesNamespace">

    <process id="oneTaskProcess" name="The One Task Process" isExecutable="true">
        <startEvent id="theStart" />
        <sequenceFlow id="flow1" sourceRef="theStart" targetRef="theTask" />
        <userTask id="theTask" name="my task" />
        <sequenceFlow id="flow2" sourceRef="theTask" targetRef="theEnd" />
        <endEvent id="theEnd" />
    </process>

</definitions>
Run Code Online (Sandbox Code Playgroud)

我用来手动部署它的代码是:

DeploymentBuilder db = repositoryService.createDeployment().
                name("Deployment name");

        Resource processesResource = resourceLoader.getResource("classpath:processes");
        File processesFolder = processesResource.getFile();
        Collection<File> files =
                FileUtils.listFiles(processesFolder, null, false);

        for (File f : files) {
            InputStream is = new FileInputStream(f);
            db.addInputStream(f.getName(), is);
        }

        db.deploy();
}
Run Code Online (Sandbox Code Playgroud)

这样,我进入循环files,我实际上看到正在处理正确的 xml。然后 db.deploy()正确执行并部署应用程序。

然后我尝试这个 JSON{ "processDefinitionKey":"oneTaskProcess" }到这个 URL,http://myuser:mypassword@localhost:8080/runtime/process-instances但响应是:

{
  "message": "Bad request",
  "exception": "no processes deployed with key 'oneTaskProcess'"
}
Run Code Online (Sandbox Code Playgroud)

在数据库中,我看到了部署,但不存在流程定义(act_re_procdef表为空)。

我的方法有什么问题?

Man*_*anu 5

我的问题出在流程定义文件名上:它是one-task-process.xml,但应该是one-task-process.bpmn20.xml.