文天大人 2017-12-26 21:52 采纳率: 60%
浏览 7938
已结题

关于Spring中的ConfigurableApplicationContext的问题

各位大神,这个类中有个isActive方法,注释上写的是判断context是否处于活动状态,我想问什么叫活动状态呢??难道还有不活动状态吗?

  • 写回答

5条回答 默认 最新

  • 叫兽-郭老师 Java领域新星创作者 2017-12-26 22:37
    关注

    活动状态,你鼠标有移动或者操作页面的时候就是活动了,不活动就是打开网页放在那里,过几十分钟后,session就会失效,需要重新登录。个人理解哈。

    评论
  • 白萝卜。 2017-12-27 01:35
    关注

    百度翻译,猜意思也大概知道了吧。

    评论
  • 知足的燕子 2017-12-27 02:13
    关注

    看下spring初始化的源码就知道了

            if (this.context instanceof ConfigurableWebApplicationContext) {
                ConfigurableWebApplicationContext cwac = (ConfigurableWebApplicationContext) this.context;
                if (!cwac.isActive()) {
                    if (cwac.getParent() == null) {
                        ApplicationContext parent = loadParentContext(servletContext);
                        cwac.setParent(parent);
                    }
                    configureAndRefreshWebApplicationContext(cwac, servletContext);
                }
    
    评论
  • JPF1024 2017-12-27 21:54
    关注

    确定此应用程序上下文是否处于活动状态,即是否至少刷新了一次,还没有关闭。

    评论
  • xjyr 2020-10-19 05:13
    关注

    因为初始化时会调用org.springframework.context.support.AbstractApplicationContext#refresh()方法
    进而会调用
    org.springframework.context.support.AbstractApplicationContext#prepareRefresh()方法,
    该方法代码如下

    protected void prepareRefresh() {
            this.startupDate = System.currentTimeMillis();
            this.closed.set(false);
            this.active.set(true);  // 这里是重点
    
            if (logger.isInfoEnabled()) {
                logger.info("Refreshing " + this);
            }
    
    
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部