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

TaskAdapter OperationDescriptionDocumentation Reference
Store data to memorystoreYou can use the Memory adapter to store data to memory.
Retrieve data from memoryretrieveYou can use the Memory adapter to retrieve data from memory.
Remove data from memoryremoveYou can remove data elements from memory that have been stored to a dedicated key.
Clear the memoryclearYou can wipe the complete memory used by the service.

Adding a Memory Adapter Operation to a Diagram

Expand the path to the Memory adapter in the service panel (Base Types/Bridge Base/Base Components/Add Ons/Memory).

You can drag out operations from the data model to any diagram:

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):

AttributeDescriptionAllowed Values / Example
NameThe name of the adapter operation. store
TypeThe 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 be a 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.

On this Page: