When a process instance is persisted in the database, normal variables are also persisted as part of the process instance. In some situations you might want to use a variable in a delegation class, but you don't want to store it in the database. An example could be a database connection that you want to pass from outside of jBPM to a delegation class. This can be done with transient variables.
The lifetime of transient variables is the same as the ProcessInstance java object.
Because of their nature, transient variables are not related to a token. So there is only one map of transient variables for a process instance object.
The transient variables are accessable with their own set of methods in the context instance, and don't need to be declared in the processdefinition.xml
Object ContextInstance.getTransientVariable(String name); void ContextInstance.setTransientVariable(String name, Object value);