Stores non-persistant contextual data during the execution of a
Chain
and its
ChainStage
s
Key
references are weak. The key and value will be garbage collected if the
Key
reference is lost.
Plugin developers may put their own objects into the
ExecutionContextImpl
to pass information between
ChainExecutionManager
plugin points.
All values remain on the server and are never sent over the network to the Agent and values are no longer available once the
Chain
finishes executing
To store objects in the
ExecutionContextImpl
first create a key (We recommend that you declare this as static final in one of your classes):
Key<MyPluginState> myKey = Key.create(MyPluginState.class);
Using the key we can store a new reference of MyPluginState into the
ExecutionContextImpl
ExecutionContext context = chainExecution.getExecutionContext();
context.putIfAbsent(myKey, new MyPluginState());
To retrieve your object:
MyPluginState state = context.getValue(myKey);
See
ChainExecution.getExecutionContext()
and
StageExecution.getExecutionContext()