Many applications require creation of multiple components when Nucleus starts. For example, an application might be running three different server components. It is unlikely that these server components refer to each other, so starting one of the servers does not necessarily start the other two.

You can start multiple components through a single component that references all components that must be started, then start that component. The Initial component of class atg.nucleus.InitialService that exists specifically for this purpose. Because it is specified in, it is always guaranteed to start, and in turn starts other services that are specified in its initialServices property:


The initialServices property specifies three services that start when Nucleus starts. You can use this technique to initialize entire sections of an application.

For example, an application might include multiple servers and loggers, where servers and loggers are started by two Initial components:

The initialServices property of the master /Initial component references these two components. This lets you manage each set of services separately, while ensuring that they are always included in the overall startup process.

Note: A component that is started through the initialServices property must be globally scoped.

The following diagram shows how an Oracle ATG Web Commerce configuration can ensure that startup of a Nucleus-based application precipitates startup of multiple initial services:

You can configure the Oracle ATG Web Commerce platform to send logging info messages for each component that is started by setting the following property in the Nucleus component: