Magnolia 5.7 reached extended end of life on May 31, 2022. Support for this branch is limited, see End-of-life policy. Please note that to cover the extra maintenance effort, this EEoL period is a paid extension in the life of the branch. Customers who opt for the extended maintenance will need a new license key to run future versions of Magnolia 5.7. If you have any questions or to subscribe to the extended maintenance, please get in touch with your local contact at Magnolia.
While being conceptually very close, Magnolia's and jBPM's Human Task implementation differ from each other. jBPM provides a org.kie.api.task.TaskService interface for creating and managing Tasks created by a Human Task WorkItemHandler. This Task Service is registered to the RuntimeEngine and obtained from it when needed.
The whole lifecycle of Tasks created by the Task Service is totally independent from the lifecycle of the workflow process itself, which allowed Magnolia to break out of jBPM's world at this stage. So instead of implementing the TaskService interface and register it to the RuntimeEngine, Magnolia uses Magnolia's own TasksManager to steer the lifecycle of its Tasks. This is done by injecting the TasksManager where needed. As a concequence of this you cannot obtain any TaskService instance from the RuntimeEngine, it will return null.
Please compare the following UML diagrams for the differences in its details:
Magnolia's Human Tasks implementation
jBPM's Human Tasks implementation