Skip to main content
Skip table of contents

Workflow 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

Default

Beschrijving

Job executor (native Camunda instellingen)

camunda.bpm.jobexecution.maxwait

60000

Maximale wachttijd (in ms) voordat een jobacquisitiethread opnieuw probeert jobs op te halen. Voorbeeld intensief gebruikte app (aangepaste AWS-omgeving vereist): 10000

camunda.bpm.jobexecution.queueCapacity

3

Capaciteit van de interne jobqueue; bepaalt hoeveel jobs tegelijk in de wachtrij kunnen staan. Voorbeeld intensief gebruikte app (aangepaste AWS-omgeving vereist): 1024

camunda.bpm.jobexecution.keepaliveseconds

0

Aantal seconden dat een idle thread in de pool actief blijft voordat deze wordt beëindigd. Voorbeeld intensief gebruikte app (aangepaste AWS-omgeving vereist): 2500

camunda.bpm.jobexecution.locktimeinmillis

300000

Duur (in ms) dat een job vergrendeld blijft voor uitvoering door een specifieke thread. Voorbeeld intensief gebruikte app (aangepaste AWS-omgeving vereist): 180000

camunda.bpm.jobexecution.maxjobsperacquisition

3

Maximaal aantal jobs dat in één acquisitieronde wordt opgehaald. Voorbeeld intensief gebruikte app (aangepaste AWS-omgeving vereist): 256

camunda.bpm.jobexecution.waittimeinmillis

5000

Wachttijd (in ms) tussen twee acquisitierondes wanneer geen jobs beschikbaar zijn. Voorbeeld intensief gebruikte app (aangepaste AWS-omgeving vereist): 2500

camunda.bpm.jobexecution.corepoolsize

3

Aantal core threads in de jobexecutor-threadpool; deze blijven altijd actief. Voorbeeld intensief gebruikte app (aangepaste AWS-omgeving vereist): 10

camunda.bpm.jobexecution.maxpoolsize

10

Maximaal aantal threads in de jobexecutor-threadpool bij piekbelasting. Voorbeeld intensief gebruikte app (aangepaste AWS-omgeving vereist): 64

DocumentTaskBehaviour

skryv.bpm.validate-document-on-submit

false

Validate documents on task submit

CamundaConfiguration

skryv.camunda.preferJsonSerialization

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.

skryv.camunda.enableExceptionsAfterUnhandledBpmnError

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

false

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

skryv.camunda.enableScriptEngineNashornCompatibility

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 (zie release note 24.0.X) wordt immers GraalVM gebruikt als de default JavaScript engine. Dit bracht enkele breaking changes met zich mee (zie release note 24.2.X).

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.legacyJobRetryBehaviorEnabled

true

Waarde: boolean. Deze parameter eigenschap is toegevoegd via Camunda versie 7.22.5 (zie ook Skryv platform release note 27.0.X).

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.