3.2.7. 应用程序上下文(AppContext)
AppContext
是一个系统类,它在其静态字段中存储对每个应用程序block的某些公共组件的引用,包括:
-
Spring 框架的
ApplicationContext
。 -
从
app.properties
文件加载的应用程序属性集合。 -
ThreadLocal
变量,存储SecurityContext实例。 -
应用程序生命周期监听器的集合(
AppContext.Listener
)。
启动应用程序时,使用加载器类初始化 AppContext
,对于每个应用程序block:
-
中间件加载器 –
AppContextLoader
-
Web 客户端加载器 –
WebAppContextLoader
-
Web 门户加载器 –
PortalAppContextLoader
AppContext
可以在应用程序代码中用于以下任务:
-
将
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"); } });
请注意,在应用程序启动和关闭时执行代码的推荐方法是使用应用程序生命周期事件。