Containers also provide important mechanisms such as life-cycle management, transaction management, security, resource pooling, threading and state management by providing well-defined run-time environments that are aware of the packaging and deployment characteristics of AFeb applications.