In ProcessEngineConfigurationImpl.java there is a method: initAsyncExecutor
in this method if "isAsyncExecutorEnabled()" then a new asyncExecutor will be created (only if it is null) and then for this asyncExecutor is called:
<code>
asyncExecutor.setAutoActivate(asyncExecutorActivate);
</code>
later when a new process engine is created if there is a asyncExecutor which is also marked as "autoActivate" it will be automatically started.
(otherwise you should start the async executor manually)
see: ProcessEngineImpl
<code>
if (asyncExecutor != null && asyncExecutor.isAutoActivate()) {
asyncExecutor.start();
}
</code>
so:
setAsyncExecutorEnabled – allow creating an async executor.
setAsyncExecutorActivate – will mark the async executor as autoActivate (to start automatically)