When Nucleus shuts down, it recursively shuts down all child services. The sequence in which these services shut down is undefined. You can control this sequence by configuring the Nucleus component /atg/dynamo/service/ShutdownService, which implements the class atg.service.ShutdownService. The services property of this component lists the order in which services are shut down. For example:


As a message sink that implements the interface atg.dms.patchbay.MessageSink, ShutdownService listens for the JMS message atg.das.Shutdown, which is generated just before Nucleus starts to shut down. On receiving this message, ShutdownService iterates over the list of services configured in its services property and calls stopService() on each one. After this process is complete, Nucleus recursively shuts down all remaining services.

Default Configuration

The Oracle ATG Web Commerce installation specifies the ShutdownService as an initial service in the DAS module, in /atg/dynamo/service/Initial. The installation also provides three ShutdownService components in the following modules: