Can I use flowable in spring boot application without a database?

I want to use flowable as a bpmn tech in a spring boot app.

Do I need to configure flowable with a database? What do I gain from this or what could I lose if I don’t configure a database for flowable?

Currently flowable is picking up on my configured db and adds all the tables in my current schema which I don’t want because I want to control all database access.

Flowable uses a database as its state store, so one must be configured. It does this for a few reasons:

  • Models are stored in the db so they don’t have to be deployed every time
  • Flowable uses DB transactions to rollback when errors are encountered
  • Async tasks are executed by inserting a job in the DB and then having an Async Executer pick it up at a later time.
  • When multiple instances of the engine are used, Flowable uses the database as a single source of truth, using locking to ensure two instances don’t start the same job at the same time.

The Spring Boot auto-configuration will pick up your datasource by default, but you can change which datasource it uses. If you don’t need multiple instances and don’t care if data survives a reboot, you could add an H2 datasource, but I wouldn’t recommend it.