3.2.7. AppContext
AppContext
- системный класс, в статических полях которого хранятся ссылки на некоторые общие для любого блока приложения компоненты:
-
ApplicationContext
фреймворка Spring -
Набор свойств приложения, загруженных из файлов
app.properties
-
ThreadLocal
переменная, хранящая экземплярыSecurityContext
-
Коллекция слушателей жизненного цикла приложения (
AppContext.Listener
)
AppContext
инициализируется на запуске приложения классами-загрузчиками, специфичными для типа блока приложения:
-
загрузчик Middleware -
AppContextLoader
-
загрузчик Web Client -
WebAppContextLoader
-
загрузчик Web Portal -
PortalAppContextLoader
AppContext
может быть использован в прикладном коде для решения следующих задач:
-
Получения значений свойств приложения, хранимых в файлах
app.properties
, если они недоступны через конфигурационные интерфейсы. -
Передачи
SecurityContext
в новые потоки выполнения, см. Аутентификация пользователей. -
Регистрации слушателей, срабатывающих после полной инициализации и перед закрытием приложения, например:
AppContext.addListener(new AppContext.Listener() { @Override public void applicationStarted() { System.out.println("Application is ready"); } @Override public void applicationStopped() { System.out.println("Application is closing"); } });
Рекомендуемый способ выполнения кода в момент запуска и остановки приложения - это использование События жизненного цикла.