Spring Boot Application - autodeployment doesn't work


#1

Hi guys,
I’m trying to turn on auto-deployment. My application-dev.yml contains:

camunda:
bpm:
auto-deployment-enabled: true

The problem is that logger produces

STARTER-SB020 ProcessApplication enabled: autoDeployment via springConfiguration#deploymentResourcePattern is disabled
on startup.

Thanks for any help


#2

autodeployment is disabled when you use the @EnableProcessApplication annotation.
It turned out that the naiv autodeployment leads to many issues, for example when it comes to task-form resolving and deploymentaware execution.
So using the @EnableProcessApplication approach with empty META-INF/processes.xml is defintely the prefered way (I think of deprecating the autodeployment in the future, it is just to fragile).

If you leave out the annotation, it should work with autodeployment, though.


#3

@jangalinski,
What are the consequences of removing @EnableProcessApplication annotation from my Application.class?


#4

You will still have the process engine and all services created and autowired. But you won’t have a process application registered and thus won’t be able to use webapp with forms (because form-key resolvement requires the engine bound to an application with a servlet-context),

If you just want to run an engine and maybe provide a rest api, you are still good to go.

But you should really consider just touching the empty marker META-INFO/processes.xml and go on with the annotation. Default of processes.xml is to scan for deployable resources, so the behaviour is like autodeploy.

I know that using an extra xml is annoying, but it’s the camunda way and it works. There already is an issue on the board to drop the processes.xml and allow configuration via yaml, but it proved to require changes in the core platform, that why for now, I stopped working on it.


#5

@jangalinski
Really appreciate your explanation.

I’ve used empty process.xml (https://docs.camunda.org/manual/7.7/user-guide/process-applications/the-processes-xml-deployment-descriptor/#empty-processes-xml)

There is another question: how can I override the value
<property name="isScanForProcessDefinitions">true</property
for the production?

Thanks.


#6

Last time we solved this via maven, place-holder in xml, variable defined in maven properties and plugin replacing the string during build. Not sure what the plugin was, goggling should many options (antrun, build-helper, replacer, …).


#7

@jangalinski.

Thank you. Cheers.


#8

Glad I could help. Please mark the question as solved so it is clear in the overview that a solution can be found in the thread. Thanks!