Model files not being deployed on startup

I am building the all-in-one docker image and have made customization to try to auto-deploy my process, channel and event files, but the auto-deploy is not happening.

I’ve modified the Dockerfile to create a /opt/tomcat/resources/processes directory and copy my model files into it.

It also copies a custom application.properties (below) into /opt/tomcat/lib.

spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:~/flowable-db/db;AUTO_SERVER=TRUE;AUTO_SERVER_PORT=9091;DB_CLOSE_DELAY=-1
spring.datasource.username=flowable
spring.datasource.password=flowable
flowable.common.app.idm-url=http://<my host>:8080/flowable-idm
#flowable.common.app.idm-redirect-url=http:/<my host>:8080/flowable-idm
flowable.modeler.app.deployment-api-url=http://<my host>:8080/flowable-task/app-api
application.kafka-enabled=true
spring.kafka.bootstrap-servers=<my kafka url>
flowable.eventregistry.enabled=true
flowable.eventregistry.resource-location=file:/opt/tomcat/resources/processes
flowable.process-definition-location-prefix=file:/opt/tomcat/resources/processes

Am I missing something?

That looks ok. Behind the scenes, those properties are passed to the org.springframework.core.io.support.ResourcePatternResolver , which should be able to resolve file:/ prefixes.

Do you see the log message “No deployment resources were found for autodeployment”? This should happen if it can’t resolve anything from the configured location.

Hi @joram,

“No deployment resources were found for autodeployment”

That’s exactly what I’m seeing. I can’t figure out why they’re not being picked up. Is there some other settings file that might take precedence over the application.properties which would be overriding it (I don’t really see anything obvious)?

Hi @ACoulson,

it’s an old topic and you might have solved it already.
For everybody else I think the issue is that you need to use file:///opt/tomcat/... instead of file:/opt/tomcat/...

Valentin

I believe In Spring configuration files, if you are specifying a directory, they should end in /. It was not working for me until I appended the slash and then everything worked. In this case,

//                Note the trailing /
file:/opt/tomcat/resources/processes/

From Spring Boot External Configuration

If spring.config.location contains directories (as opposed to files) they should end in /