/
Configure AsyncJobExecutor

Configure AsyncJobExecutor

This article includes updates for Identity Manager 5.0.1.

This article describes how to configure AsyncJobExecutor in Smart ID Identity Manager. The configuration is done in identity Manager Operator.

The AsyncExecutor is a component that manages a thread pool to handle timers and other asynchronous tasks. By default, the AsyncJobExecutor is activated and started when Identity Manager starts up.

Configure AsyncExecutor

For docker

The configuration for the AsyncJobExecutor is done in the SYSTEM_PROPERTIES section (inside the docker-compose.yml file) and can be customized by adding the asyncJobExecutor properties accordingly.

For WAR file deployment

The default configuration for the AsyncJobExecutor is available in the system.properties file. For customization, uncomment and change the desired properties, see below.

Default configuration

jobExecutorStarter.startOnSystemStartup=true #asyncJobExecutor.corePoolSize=10 #asyncJobExecutor.maxPoolSize=50 #asyncJobExecutor.keepAliveTime=3000 #asyncJobExecutor.queueSize=200 #asyncJobExecutor.maxTimerJobsPerAcquisition=2 #asyncJobExecutor.maxAsyncJobsDuePerAcquisition=2 #asyncJobExecutor.defaultAsyncJobAcquireWaitTimeInMillis=1000 #asyncJobExecutor.defaultTimerJobAcquireWaitTimeInMillis=1000 #asyncJobExecutor.timerLockTimeInMillis=60000 #asyncJobExecutor.asyncJobLockTimeInMillis=60000

Parameters

Name

Default value

Description

Name

Default value

Description

jobExecutorStarter.startOnSystemStartup

true

Whether AsyncJobExecutor should be activated and started or not.

asyncJobExecutor.corePoolSize

10

The minimal number of threads that are kept alive in the thread pool for job execution.

asyncJobExecutor.maxPoolSize

50

The maximum number of threads that are created in the thread pool for job execution.

asyncJobExecutor.keepAliveTime

3000

The time (in milliseconds) a thread used for job execution must be kept alive before it is destroyed. Having a setting > 0 takes resources, but in the case of many job executions it avoids creating new threads all the time. If 0, threads will be destroyed after they’ve been used for job execution.

asyncJobExecutor.queueSize

200

The size of the queue on which jobs to be executed are placed after being acquired, before they are actually executed by a thread from the thread pool

asyncJobExecutor.maxTimerJobsPerAcquisition

2

The number of timer jobs that are acquired during one acquirement query. Default value is 2, as this lowers the potential for optimistic locking exceptions. Larger values can perform better, but the chance of optimistic locking exceptions occurring between different engines becomes larger too.

asyncJobExecutor.maxAsyncJobsDuePerAcquisition

2

The number of async jobs that are acquired during one acquirement query. Default value is 2, as this lowers the potential for optimistic locking exceptions. Larger values can perform better, but the chance of optimistic locking exceptions occurring between different engines becomes larger too.

asyncJobExecutor.defaultAsyncJobAcquireWaitTimeInMillis

1000

The time (in milliseconds) the async job acquisition thread will wait to execute the next acquirement query.

asyncJobExecutor.defaultTimerJobAcquireWaitTimeInMillis

1000

The time (in milliseconds) the timer acquisition thread will wait to execute the next acquirement query.

asyncJobExecutor.timerLockTimeInMillis

60000

The amount of time (in milliseconds) a timer job is locked when acquired by the async executor. During this period of time, no other async executor will try to acquire and lock this job.

asyncJobExecutor.asyncJobLockTimeInMillis

60000

The amount of time (in milliseconds) an async job is locked when acquired by the async executor. During this period of time, no other async executor will try to acquire and lock this job.

For more information, visit the official Activiti documentation.

 

Copyright 2024 Technology Nexus Secured Business Solutions AB. All rights reserved.
Contact Nexus | https://www.nexusgroup.com | Disclaimer | Terms & Conditions