public interface ApplicationContainerContext
ApplicationContainerContext instance can be used for holding per-container runtime state and objects and
 managing their lifecycle. This context is shared across all tasks in the container.
 
 Use ApplicationDescriptor.withApplicationContainerContextFactory(org.apache.samza.context.ApplicationContainerContextFactory<?>) to provide the
 ApplicationContainerContextFactory. Use Context.getApplicationContainerContext() to get the created
 ApplicationContainerContext instance for the current container.
 
 A unique instance of ApplicationContainerContext is created in each container. If the container moves or the
 container model changes (e.g. due to failure or re-balancing), a new instance is created.
 
 Use the ApplicationContainerContextFactory to create any runtime state and objects, and the
 start() and stop() methods to manage their
 lifecycle.
 
 Use ApplicationTaskContext to hold unique runtime state and objects for each task within a container. Use
 ContainerContext to access framework-provided context for a container.
 
 Unlike its ApplicationContainerContextFactory, an implementation does not need to be Serializable.
| Modifier and Type | Method and Description | 
|---|---|
| void | start()Starts this  ApplicationContainerContextbefore any tasks in the container are initialized and before
 processing begins. | 
| void | stop()Stops this  ApplicationContainerContextafter processing ends and after all tasks in the container
 are closed. | 
void start()
ApplicationContainerContext before any tasks in the container are initialized and before
 processing begins.
 If this throws an exception, the container will fail to start.
void stop()
ApplicationContainerContext after processing ends and after all tasks in the container
 are closed.
 If this throws an exception, the container will fail to fully shut down.