The variables described here include Configuration variables, flow variables, and cache variables.
Flow variables provide a means of passing information throughout a flow instance without requiring that the information to be passed through data links. flow variables are name-value pairs that persist, unless deleted.
Flow variables can be specified at different locations.
A configuration variable defines an alias that resolves at run time to a value that is specific to a deployment environment. A deployment environment is represented by a server group. By associating the values of a configuration variable with different server groups, you can run the same map or flow in different environments, servers, and platforms without changing the map or flow.
Flow Variables can be specified as query parameters of the Runtime REST API invocation of flows.
Flow variables can be defined and manipulated through flow library, flowlib functions.
Some node types allow you to set flow variables using the HCL Link UI settings dialog, in the Flow Designer canvas.
Under Flow Engine context, all flow variables (both custom and special) defined for the flow instance, go out of scope when the flow instance completes execution. It does not affect the flow variables of the other instance.
A 'thread local flow variable' is a special variable, in that each thread running under a flow instance gets a copy of the flow variable when referenced. Each thread then works on its own copy during flow execution. Any action (get, set, delete, increment, decrement, resolve), on the thread local flow variable, is performed on the copy of the flow variable associated with that thread.
Cache variables provide a means of processing information throughout a flow instance without requiring that the information to be passed through data links.