Purpose:
1.1.1. Start (start activity)
Represents the start boundary of a process. A process can have only one start activity. You can only specify one transition to start an activity. After the process instance is started, it will automatically use this unique transition to exit the start activity and go to the next activity.
There cannot be a transition pointing to the starting activity.
1.1.2. End, end-error, and end-cancel (end activity)
It indicates the end boundary of the process. There can be multiple or none. If there are more than one, the entire process will end when it reaches any end activity. If there is no, the process will end when it reaches the last activity without a transition.
1.1.3 transition (connection, transfer, transfer)
1. You can specify 0 or more transition in an activity.
A) There can only be one transition in the Start activity.
B) There is no transition in the end activity.
C. One or more transition entries in other activities
2. If there is only one name, you can leave it unspecified (the name is null). If there are multiple names, you must specify the unique names respectively.
I. Flowchart
Ii. Code Implementation
Package COM. njupt. transaction; import Java. io. inputstream; import Org. jbpm. API. configuration; import Org. jbpm. API. processengine; import Org. jbpm. API. processinstance; import Org. jbpm. API. task. task; import Org. JUnit. test; public class processtest {private processengine = configuration. getprocessengine (); @ testpublic void test () throws exception {// 1. the deployment process defines inputstream in = getclass (). getresourceasstream ("test. jpdl. XML "); processengine. getrepositoryservice ()//. createdeployment ()//. addresourcefrominputstream ("test. jpdl. XML ", in )//. deploy (); // 2, START process instance processinstance Pi = processengine. getexecutionservice (). startprocessinstancebykey ("test"); // 3. After the first task is executed ("department manager approval"), use the specified route to exit task = processengine. gettaskservice ()//. createtaskquery () // queries only one task in the current process instance. processinstanceid (Pi. GETID ())//. uniqueresult (); // processengine. gettaskservice (). completetask (task. GETID (); processengine. gettaskservice (). completetask (task. GETID (), "To end1"); // processengine. gettaskservice (). completetask (task. GETID (), "to General Manager approval ");}}