Skip to main content
Skip table of contents

Camunda process engine

Concept

De Camunda process engine is een Java-gebaseerde workflow- en beslissingsautomatiseringsmotor die BPMN-, CMMN- en DMN-modellen uitvoert. Het zorgt voor de orkestratie van processen, taken en regels, inclusief job scheduling, transactiebeheer en integratie met externe systemen. De process engine zit integraal embedded in de Java-gebaseerde Skryv SpringBoot applicatie. Klik hier voor meer architecturale informatie.

Onderdelen

Job executor

De Job Executor in Camunda is het onderdeel van de process engine dat verantwoordelijk is voor het uitvoeren van asynchrone taken en achtergrondjobs, zoals timers, externe taakpolling en retry-mechanismen. Het werkt met een threadpool om jobs uit de database op te halen, te vergrendelen en parallel uit te voeren, zodat processen niet geblokkeerd worden door lange-running activiteiten.

De instellingen van de job executor moeten afgestemd worden op de verwachte belasting van de applicatie. De Camunda defaults zijn doorgaans niet geschikt voor apps die in productie draaien.

Instellingen

Eigenschap

Beschrijving

camunda.bpm.jobexecution.maxwait

Job executor instelling

Maximale wachttijd (in ms) voordat een jobacquisitiethread opnieuw probeert jobs op te halen.

Default Camunda: 60000

Voorbeeld intensief gebruikte app (aangepaste AWS-omgeving vereist): 10000

camunda.bpm.jobexecution.queueCapacity

Job executor instelling

Capaciteit van de interne jobqueue; bepaalt hoeveel jobs tegelijk in de wachtrij kunnen staan.

Default Camunda: 3

Voorbeeld intensief gebruikte app (aangepaste AWS-omgeving vereist): 1024

camunda.bpm.jobexecution.keepaliveseconds

Job executor instelling

Aantal seconden dat een idle thread in de pool actief blijft voordat deze wordt beëindigd.

Default Camunda: 0

Voorbeeld intensief gebruikte app (aangepaste AWS-omgeving vereist): 2500

camunda.bpm.jobexecution.locktimeinmillis

Job executor instelling

Duur (in ms) dat een job vergrendeld blijft voor uitvoering door een specifieke thread.

Default Camunda: 300000

Voorbeeld intensief gebruikte app (aangepaste AWS-omgeving vereist): 180000

camunda.bpm.jobexecution.maxjobsperacquisition

Job executor instelling

Maximaal aantal jobs dat in één acquisitieronde wordt opgehaald.

Default Camunda: 3

Voorbeeld intensief gebruikte app (aangepaste AWS-omgeving vereist): 256

camunda.bpm.jobexecution.waittimeinmillis

Job executor instelling

Wachttijd (in ms) tussen twee acquisitierondes wanneer geen jobs beschikbaar zijn.

Default Camunda: 5000

Voorbeeld intensief gebruikte app (aangepaste AWS-omgeving vereist): 2500

camunda.bpm.jobexecution.corepoolsize

Job executor instelling

Aantal core threads in de jobexecutor-threadpool; deze blijven altijd actief.

Default Camunda: 3

Voorbeeld intensief gebruikte app (aangepaste AWS-omgeving vereist): 10

camunda.bpm.jobexecution.maxpoolsize

Job executor instelling

Maximaal aantal threads in de jobexecutor-threadpool bij piekbelasting.

Default Camunda: 10

Voorbeeld intensief gebruikte app (aangepaste AWS-omgeving vereist): 64

skryv.camunda.enableExceptionsAfterUnhandledBpmnError

Default:

true

Waarde: boolean

Indien false, dan zullen niet opgevangen BPMN-errors leiden tot het bruusk beëindigen van de process instance. Indien true, dan leidt een niet opgevangen BPMN-error tot een workflow engine exception.

skryv.camunda.enableNashorn

Default:

false

Waarde: boolean

Indien true, verander JavaScript engine van default GraalVM naar Nashorn. Zie release note.

skryv.camunda.enableScriptEngineNashornCompatibility

Default:

true

Waarde: boolean

Deze parameter bepaalt of de Camunda-engine compatibiliteit met de Nashorn JavaScript-engine inschakelt. Dit kan nodig zijn voor legacy-applicaties die afhankelijk zijn van Nashorn voor JavaScript-uitvoering. Na update Skryv platform naar Java 17 wordt immers GraalVM gebruikt als de default JavaScript engine.

skryv.camunda.rest.enabled

Waarde: boolean

Deze parameter bepaalt of de Camunda REST API-gebruik in de applicatie is ingeschakeld. Als deze parameter op true staat, wordt de Camunda REST API geactiveerd, wat het mogelijk maakt om via HTTP verzoeken (bijvoorbeeld GET, POST) interactie te hebben met het Camunda BPM-systeem.

skryv.camunda.preferJsonSerialization

Default:

false

Waarde: boolean

Deze parameter bepaalt of de Camunda-engine JSON-serialisatie moet verkiezen bij het verwerken van variabelen en gegevens. Wanneer deze parameter is ingeschakeld (d.w.z. true), wordt JSON gebruikt voor de serialisatie van gegevens in plaats van andere formaten, zoals XML. Dit kan handig zijn wanneer de applicatie JSON als standaardformaat gebruikt of wanneer er integraties zijn met systemen die JSON vereisen.

Externe info

Klik hier voor externe documentatie over de Camunda process engine.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.