Heap Objects — configure and initialize objects, with dependency injection
A heap is a collection of associated objects, initialized from declarative configuration artifacts. All configurable objects in the gateway are heap objects. Heap objects are created and initialized by associated "heaplets", which retrieve any objects an object depends on from the heap. The heap configuration is included as an object in the gateway servlet configuration, and has the following format.
{
"objects": [
{
"name": string,
"type": string,
"config": { object-specific configuration }
}, ...
]
}"name": string, requiredThe unique name to give the heap object in the heap. This name is used to resolve the heap object, for example when another heap object names a heap object dependency.
"type": string, requiredThe class name of the object to be created. Example:
"HandlerServlet". To determine the type name, see
the specific object documentation in this reference.
"config": object, requiredThe configuration that is specific to the heap object being created. For an example, see the HandlerServlet reference.
When a heap is first created, it is automatically populated with some objects, without required configuration. An automatically created object can be overridden by creating a heap object with the same name.
"LogSink"The default object to use for writing all audit and performance logging. Default: a ConsoleLogSink object with default values.
"TemporaryStorage"The default object to use for managing temporary buffers. Default: a TemporaryStorage object with default values.
Every heap object has a set of implicit properties, which can be overridden on an object-by-object basis:
"logSink": stringSpecifies the heap object that should be used for audit and
performance logging. Default: "LogSink".
"temporaryStorage": stringSpecifies the heap object that should be used for temporary buffer
storage. Default: "TemporaryStorage".