Not being able to deploy process using spring boot webapp

Hi, I’m trying to deploy a web app with a simple process but I keep getting:

ERROR 6168 — [ main] org.camunda.bpm.engine.context : ENGINE-16004 Exception while closing command context: no deployed process definition found with id ‘applicationApproval’: processDefinition is null

I made sure the process is executable and the id is correct.

this is my bpmn file:
applicationApproval.bpmn (4.8 KB)

this is my pom.xml:
pom.xml (3.6 KB)

Please I have a deadline on Thursday and I’ve spent 6 hours trying to figure this out, any help would be appreciated and if there is any more information needed ill be willing to provide.

Can you share some additional details about how your project is setup? Can you link to a sample? How are you deploying the process?

I was able to use your pom.xml to build and run a spring boot webapp, successfully deploy applicationApproval.bpmn by including it as a resource in the project, and launch/run the process to completion.

At the very least, you should be able to drop them into this starter and have similar results.

I am using practically the same code as that starter. the only difference being the bpmn file and the process id.

I tried making a new project using the initializr and at first i was able to run the application and deploy the process using the camunda cockpit. However when I use processpostdeploy i keep getting the same error.

I made a github repository but again it is literally the same starter code with a different bpmn file, even if i use the starter code as it is i get the same error. I have spent so many hours on this to no avail so any help would be greatly appreciated.

Actually I tried running the starter code and it worked. But when i plug in my bpmn file it causes the error. I noticed that the bpmn file in the starter code says bpmn 2 while mine doesn’t, eventhough thats how the modeler generated it.

Okay, so there are a few things…

As described here, auto deployment is not enabled when using the @EnableProcessApplication annotation. You will need to maintain a deployment descriptor, META-INF/processes.xml (an empty file will be enough to trigger resource scanning and use default options).

Next, in your processPostDeploy method, you’re trying to start the process instance by process definition id. This is going to be assigned a guid at deployment time, so unless you look this up you won’t be able to start it that way. Try by key instead,

runtimeService.startProcessInstanceByKey(“applicationApproval”);

Lastly, check the indentation in your application.yml. It’s off, so that admin user and task filter won’t be created properly.

1 Like