Server Mode and the ALPool
The process of creating a clone AL can be optimized by using the AssemblyLine Pool (ALPool). On event detection, the Server mode Connector either proceeds with the Flow section of this AL; or if an ALPool is configured for this AL, then it contacts the Pool Manager process to request an available AL instance to handle this event.
When an AssemblyLine with a Server mode Connector uses the ALPool, the ALPool will execute AL instances from beginning to end. Before the AL instance in the ALPool closes the Flow Connectors, the ALPool retrieves those Connectors into a pooled connector set that will be reused in the next AL instance created by the ALPool. In essence, the ALPool uses the tcb.setRuntimeConnector() method. There are two system properties that govern the behavior of Connector pooling:
- com.ibm.di.server.connectorpooltimeout
- This property defines the timeout in seconds before a pooled connector set is released.
Value Significance < 0 Disable Connector pooling 0 Timeout disabled; pool Connectors never timeout > 0 Number of seconds before pooled Connectors timeout - com.ibm.di.server.connectorpoolexclude
- Defines the Connector types that are excluded from pooling. If a Connector's class name appears in this comma separated list it is not included in the Connector pool set.
When a new AssemblyLine (AL) instance is created by the ALPool, it will look for an available pooled connector set, which, if present, is provided to the new AL Instance as runtime-provided connectors. This ensures proper flow of the AL in general in terms of Attribute Mapping, Hook execution, and so forth.
Connectors are never shared. They are only assigned to a single AL instance when used.
Parent topic:
Server mode