Memory Link Adapter

The Memory Link adapter is only used by the Launcher, and provides additional workflow support for Launcher watches to be triggered without traditional transformation adapters (such as file, MQ, or database adapters) and therefore does not add any file system, messaging, or database overhead. The watches can be triggered based on the outcome of other watches, and can also be used in PUT rules to trigger other watches. The Memory Link adapter has the ability to run watches inline, when the transactional handling of a watch might depend on another watch that is triggered by a Memory Link event.

Overview

Table 1. Memory Link adapter overview. The following table provides an overview of the Memory Link adapter:
Characteristic Definition
Adapter Name

Memory Link

Description

This adapter provides additional workflow support and allows Launcher watches to be triggered without traditional adapters (such as file, MQ, or database adapters). The watches can be triggered based on the outcome of other watches, and can also be used in PUT rules to trigger other watches.

Business usage The Memory Link adapter can queue a memory link trigger immediately during a PUT rule in a map, using the –NOW option. Additionally, you can configure input and output cards of a Launcher watch to use the Memory Link adapter. For output, you can use the Memory Link adapter in target cards, PUT rules, RUN map target cards, and RUN map PUT rules. Memory link outputs can trigger multiple watches if the watches are configured with the same memory link name source event.
Preconfigured? The the adapter is installed with Transformation Extender. However, you add information to the config.yaml file before using the Memory Link adapter.
Requires third-party files? No. All required components are shipped with the product.
Platform availability
  • Windows
  • Linux®
Application requirements This adapter requires Transformation Extender version 9.0.0.1 or later.
Invocation This adapter can be invoked via the command line.
Returned status values If a map fails, the failure is reported to the top watch map, which fails with the new error code 79 – Linked map failure.
Restrictions
  • You must define a memory link name as a single string for input cards, output cards, and PUT rules.
  • Wildcard characters are not allowed in the memory link name.
  • Valid characters for a memory link name are:
    • 0 - 9
    • a - z
    • A - Z
    • dot (.)
    • dash (-)
    • underscore (_)
  • The maximum length is 64 bytes, and another 63 bytes are reserved for wildcard and index values.
  • An input memory link must be a source event and contain only the valid memory link name.
Testing considerations
  • Triggered maps must run sequentially inline.
  • Maps should be queued to run concurrently if MaxThreads allow.
  • Maps should be queued to run concurrently when using the PUT rule.

Memory Link configuration in the config.yaml file

The following section in the config.yaml file controls the Memory Link adapter.

runtime:
  Memory Link:
    # How many simultaneous active watches that write to memory link. Consider Initialize Pending maps that are
    # queued up to trigger along with InitPendingHigh setting in Launcher section. Default is 2000.
    ActiveTableSize: 2000
    # How many memory link instances per an active watch (each output card / PUT instance). Default is 5.
    UniqueTableSize: 5
  
The use of the ActiveTableSize and UniqueTableSize properties depends on the workflow and map design, but they increase automatically if needed.
ActiveTableSize
The number of Memory Link source events that are queued to run, including Initialize Pending maps.
UniqueTableSize
The number of unique Memory Link targets in a single Transformation Extender map instance.

PUT rule command line options

Use the following command line options when using the PUT rule with this adapter:
-SCOPE
The scope of the PUT command. Valid values are MAP and CARD.
-NOW
Trigger the PUT rule immediately.