Production mode vs devmode.componentTracker

Hi there,

when we start our Vaadin app - Flow 24.5.15 with Spring Boot - with vaadin.production-mode=true we still find com.vaadin.flow.component.internal.ComponentTracker$Location instances in our memory snapshots. Debugging shows that ComponentTracker.isDisabled() indeed returns false.

We can set -Dvaadin.devmode.componentTracker.enabled=false to disable it, but isn’t production-mode supposed to disable all dev-mode features anyway?

If not, which properties would we have to set to disable devmode entirely in our production deployment?

Thanks for your help!

vaadin.production-mode is not enough. You need to build with the production profile in Maven or the corresponding Gradle setting.

Thanks, Leif.

We do build it with -Pproduction, yes. But how would we have to start/configure it when starting the app locally in IntelliJ and not with java -jar ?

I saw -Pproduction creates a META-INF/VAADIN/config/flow-build-info.json in the jar. Would we have to duplicate that locally in IntelliJ?

Running production mode directly from an IDE is not something we have optimized.

In addition to that flow-build-info.json file, you will also need to exclude the vaadin-dev dependency and if you use Spring Boot then also spring-boot-devtools.

Got it, thanks for your help!