Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

java-multi-tenant

Multi-tenant invoice processing — same workflow, fully isolated tenant data.

Run it

mvn compile exec:java

To submit to a running runtime with tenant isolation:

jamjet dev &
mvn compile exec:java

What it does

  1. Builds an invoice processing workflow (validate, route, process)
  2. Runs the same workflow for two tenants: Acme Corp and Globex Inc
  3. Submits tenant-scoped executions to the runtime via X-Tenant-Id
  4. The runtime enforces row-level data partitioning per tenant

Key concepts

  • Tenant isolation — each tenant's workflows, executions, state, and audit logs are partitioned at the storage layer
  • Shared workflow definitions — the same IR can be deployed across tenants
  • Runtime enforcementTenantScopedSqliteBackend filters all queries by tenant_id
  • Workflow builderWorkflow.builder() with typed record state

Next steps