Here is some context to understand the implementation:
It exists "Workers" which holds a map of registered workers.
Through the method "registerWorker" an external worker can be registered to a certain topic.
The user can specify the behaviour of the client through two separate configurations. The general workers config and the specific worker config. If no config is provided, a default is applied.
General workers config
Configure the newly created Client by passing general configs about the polling method like:
- workerId: the id of the worker which executes the polling request for all other workers registered later on.
- path: the path which exposes the camundaAPI
- maxTasks: The max number of tasks which is supposed to be polled at once.
- interval: The interval of polls defined in mms.
Specific Configuration of the individual worker
- lockDuration: The time period which is the worker expected to require to complete its task successfully.