As persistent state is an integrated part of the Bridge, there is no requirement for additional components. The Components Wizard is used to create this diagram. For more details, refer to Components Wizard.
The picture below shows the component diagram of the Purchase Order example.
In the specification dialog of the xUML service composite, you can configure the persistent state engine.
Attribute | Type | Description | Value | Description | ||
---|---|---|---|---|---|---|
Persistent State | ||||||
Storage Medium | String |
| memory | The persistent state data is kept in memory. On service shutdown, data is written to the file system. | ||
local (default) | The persistent state data is kept in a local SQLite database that is delivered with the Bridge. | |||||
external | The persistent state data is kept in an external database that has to be defined as a service backend. Use External State DB Alias to specify the database. | |||||
volatile | The persistent state data is kept in memory. On service shutdown, data is lost. | |||||
Workers | Integer |
| ||||
External State DB Alias | String |
See also External Properties State DB Alias. | ||||
External Properties State DB Alias | String | Runtime 2019.8 Builder 7.6.0 Specify the database alias of the external database you want to store external persistent data to. For more information on external data, refer to Persistent State Classes > External Persistent Data. | <tagged value not specified> (default) | If not specified, external persistent data will be stored to the main persistent state database (internal or external database as defined with External State DB Alias). | ||
database alias | The external persistent data will be stored to the database indicated by the alias. The main persistent state database can be still internal, though. | |||||
Event Selection Algorithm | String |
| <tagged value not specified> (default) | Leave the decision which algorithm to use to the xUML Runtime. If future versions provide changed algorithms, they will be taken into account automatically. | ||
Default | Basically the same as <tagged value not specified>: Leave the decision which algorithm to use to the xUML Runtime. If future versions provide changed algorithms they will be taken into account automatically. | |||||
Favour Signals | Process events according to signal appearance. This is the algorithm used up to Runtime 2019.1. | |||||
Favour Objects | Process events according to object age. This results in processing older objects first. Signals to a selected object are processed in the order they arrived. | |||||
Switch Over Enabled | Boolean |
| false (default) | fail over mechanism not enabled | ||
true | fail over mechanism enabled | |||||
Switch Over Retry Timeout | Integer |
| ||||
Internal State DB Synch | String |
| OFF (default) | SQLite continues without syncing as soon as it has handed data off to the operating system. If the xUML service crashes, the data will be safe, but the database might become corrupted if the operating system crashes or the computer loses power before that data has been written to the disk surface. Very fast. | ||
NORMAL | The SQLite database engine will still sync at the most critical moments, but less often than in FULL mode (see below). There is a very small (though non-zero) chance that a power failure at just the wrong time could corrupt the database in NORMAL mode. But in practice, you are more likely to suffer a catastrophic disk failure or some other unrecoverable hardware fault. Up to 50 times slower than OFF. | |||||
FULL | The SQLite database engine will ensure that all content is safely written to the disk surface prior to continuing. This ensures that an operating system crash or power failure will not corrupt the database. FULL synchronous is very safe, but it is also slower than NORMAL. FULL is the most commonly used synchronous setting. | |||||
EXTRA | Also synchronize the DB transaction journal after every commit. Equals FULL in E2E Bridge context. |
Deprecated since Builder 6.0
As persistent state is an integrated part of the Bridge, there is no requirement for additional components or deployments. The Deployment Wizard is used to create these diagrams. For more details, refer to the Builder User Guide. In the picture below, the completed component diagram of the Purchase Order example is displayed. Figure: Components Diagram for Purchase Order Example The only difference to a regular diagram is in the artifact PurchaseOrderExample to the right. In the specification dialog of an artifact of stereotype <<E2EConfigurationDeployment>> there are two fields for configuring the persistent state engine. Figure: Specification of Artifact PurchaseOrderExample Workers defines the maximum number of parallel threads used to process pending events. The default setting is 5, which is used if none or 0 workers are configured. The implications of more or less workers are discussed in Performance Considerations of Persistent State.
Storage Medium defines where the persisted data and additional information like pending events and current states are kept. Valid options are memory, local or the name of a database instance. See section Data Storage for a discussion of the options. When using a database instance as storage medium, make sure to configure components and deployment of the SQL adapter as described in section SQL Adapter. |