3.1.1.1.2 Pooling

An ORB might provide a single instance container, at most, for a conglomeration at any given time, or it might have the capability to provide multiple instance containers. Enabling a conglomeration to support multiple concurrent instance containers is known as container pooling. If the target ORB provides container pooling,<41> the following SHOULD be used to configure this facility:

  • The ConcurrentApps property of the Conglomerations table, as specified in section 3.1.1.3.6.

Instance pooling refers to enabling component instances that are no longer active to return to a pool for reuse. If the target ORB provides instance pooling,<42> the following SHOULD be used to configure this facility:

  • The MinPoolSize, MaxPoolSize, and EnablePooling properties of the ComponentsAndFullConfigurations table, as specified in section 3.1.1.3.1.

If an ORB provides instance pooling, there is a subtle distinction between instantiation and activation, as these terms are used in the description of configuration properties. Activation refers to the process of making a component instance active (able to respond to requests), even if the component instance had been created previously (for example, if the instance was pooled). Therefore, activation might involve instantiating a component (if no suitable pooled component instance existed prior to the activation). If the target ORB does not provide instance pooling, these terms can be understood to be interchangeable.