* A workflow is a framework (Activiti) function of multiple participants passing business information and auditing according to certain predefined rules.
* processEngine, call Service, thereby operating the database tables
* Table 23
2: What operations does RepositoryService, RuntimeService, TaskService, and HistoryService represent in the workflow?
RepositoryService: Process definition and deployment object
RuntimeService: Execution management, including process instances and execution objects (executing)
TaskService: Execution of tasks (execution)
HistoryService: History Management
IdentityService: User Role Group of Activiti Table
3: The difference between process instance and execution object
* The largest branch of the process from the beginning to the end. In a process, there is only 1 process instance
* Execution object is to execute operations once according to the rules defined by the process. In a process, there can be multiple execution objects.
4: The role of process variables in the project
* 1: Used to pass business parameters, the purpose is that the reviewer can view some of the applicant's review information through process variables
2: Set process variables in the connection condition to specify the connection ${message=='important'}
3: Use process variables to specify the handler of personal tasks and group tasks #{userID}
5: In the activeti workflow, if there are multiple connections after a task is completed, what should be done?
* Use process variables
* After a task is completed, based on the conditions and settings of these connections, such as ${process variable name =='Value of process variable'}, the {} symbol is boolean type, determine which connection to go
6: What functions can both exclusive gateways and parallel gateways perform in the active workflow?
Exclusive gateway: branch, determines which line to execute through the process variable of the connection. If the conditions do not meet, the default line will be executed. Note: Only one of the processes can be executed.
Parallel Gateway: Multiple processes can be executed simultaneously until the end of the total process. You can branch and aggregate the process. Note: process instances and execution objects are different.
7: Three ways to assign personal tasks
* Give the value directly, specify it in the file
*Process variable ${name of process variable} or #{}
*Use class to listen to this class (implement an interface), specify the task handler (setAssgnee())
8: Are the query of personal tasks the same as group tasks?
* no the same
* All are done using TaskService()
* Personal task (taskAssgnee), group task (taskCandidateUser)
* Database storage, personal tasks (type: participation), group tasks (type, participation, candidate)