The Memory adapter allows to store and retrieve values to respectively from the memory. You can find all data types and operations of the Memory adapter in the service panel at Base Types/Bridge Base/Base Components/Add Ons/Memory.
Using the Memory adapter, you can
Task
Adapter Operation
Description
Documentation Reference
Store data to memory
store
You can use the Memory adapter to store data to memory.
The example on the left shows how to add a Memory adapter operation to an BPMN execution diagram.
Configuring the Memory Adapter Operation
Once an operation has been added to a diagram, it needs to be configured as a Memory adapter.
Select the newly added Memory adapter operation and switch to the Attributes panel. Depending on the diagram type you can see the following information (example BPMN execution diagram):
Attribute
Description
Allowed Values / Example
Name
The name of the adapter operation.
store
Type
The path to the operation within the data model.
Base Components.Add Ons.Memory.Memory
Symbol Type
Operations added to a execution diagram are execution steps.
Execution Step
All this is predefined and cannot be changed.
Click Add Stereotype to define the selected operation as to bea Memory adapter.
Select Memory Adapter from the list of available adapter stereotypes. Click Save.
The Attributes panel now shows the added adapter stereotype. Now you still need to configure the adapter.
Expand the stereotype by clicking the arrow on the right.
On the Memory adapter, you can configure the scope the value should be stored to, and the adapter action. Click the beside the related option to configure it.
scope The default scope is global. Configure this value if you want to store to session scope. Refer to section Memory Scope below for more information on the implications of the memory scope.
action The adapter action derives from the used operation. Do not configure this.
Click the icon to remove unwanted configurations.
Memory Scope
By default, the memory is in scope of the service (server process), but it is also possible to store values in a request session context. Basically, the memory adapter is a thread-safe hash list allowing to
share objects between requests (service/global scope) To store objects in global scope and to share them between requests to the same service, set scope to global on the Memory adapter. In this case, you need to propagate the memory key between requests, or use a static key.
keep data for one request (session scope) only To keep data for the request only, set scope to session on the Memory adapter. At the end of the request session, the memory will be cleared. Regarding the Designer, the session scope corresponds to the implementation of one execution diagram.
Refer to xUML Runtime Transaction Concepts for more information on what is regarded as a session by the Runtime in general, and about transaction handling.