Fork me on GitHub

Lifecycle Contract

The following contract is fulfilled by the Avalon YAAFI Container

Early Initialization

If a service component is defined as "early-init" the instance of the service component will be incarnated during startup of the container.

Lazy Initialization

If a service component is initialized lazily the implementation class is loaded but incarnation takes place during the first invocation of ServiceManager.lookup().

An invocation of ServiceManager.hasService() will not incarnate a service component instance.

Decommisioning

The decommisioning of a service component instance result in exactly the same state as using a lazily initialized service component. I.e. the implementation class is loaded but no instance exists