欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot設(shè)置Session失效時(shí)間的解決方案

 更新時(shí)間:2024年05月23日 10:58:12   作者:一覺(jué)睡到小時(shí)候  
當(dāng)過(guò)期時(shí)間是大于1分鐘的時(shí)候是沒(méi)有什么問(wèn)題的,但是如果設(shè)置過(guò)期時(shí)間小于1分鐘,就會(huì)失效,這篇文章主要介紹了SpringBoot設(shè)置Session失效時(shí)間的解決方案,需要的朋友可以參考下

springboot的yml文件中設(shè)置session的過(guò)期時(shí)間

 #Session超時(shí)時(shí)間設(shè)置,單位是秒,默認(rèn)是30分鐘
  servlet:
    session:
      timeout: 3600s

當(dāng)過(guò)期時(shí)間是大于1分鐘的時(shí)候是沒(méi)有什么問(wèn)題的,但是如果設(shè)置過(guò)期時(shí)間小于1分鐘,就會(huì)失效。

  servlet:
    session:
      timeout: 10

因?yàn)镾pringBoot在TomcatServletWebServerFactory為session的過(guò)期時(shí)間做了優(yōu)化。

Session的配置configureSession

private void configureSession(Context context) {
        long sessionTimeout = this.getSessionTimeoutInMinutes();
        context.setSessionTimeout((int)sessionTimeout);
        Boolean httpOnly = this.getSession().getCookie().getHttpOnly();
        if (httpOnly != null) {
            context.setUseHttpOnly(httpOnly);
        }
        if (this.getSession().isPersistent()) {
            Manager manager = context.getManager();
            if (manager == null) {
                manager = new StandardManager();
                context.setManager((Manager)manager);
            }
            this.configurePersistSession((Manager)manager);
        } else {
            context.addLifecycleListener(new TomcatServletWebServerFactory.DisablePersistSessionListener());
        }
    }

我們看到long sessionTimeout = this.getSessionTimeoutInMinutes();過(guò)期時(shí)間取自getSessionTimeoutInMinutes方法。

    private long getSessionTimeoutInMinutes() {
        Duration sessionTimeout = this.getSession().getTimeout();
        return this.isZeroOrLess(sessionTimeout) ? 0L : Math.max(sessionTimeout.toMinutes(), 1L);
    }

在這里對(duì)sessionTimeout 進(jìn)行判斷,首先判斷是否為0或者更少isZeroOrLess方法

    private boolean isZeroOrLess(Duration sessionTimeout) {
        return sessionTimeout == null || sessionTimeout.isNegative() || sessionTimeout.isZero();
    }

sessionTimeout轉(zhuǎn)換為分鐘sessionTimeout.toMinutes()

    public long toMinutes() {
        return seconds / SECONDS_PER_MINUTE;
    }
    /**
     * Seconds per minute.
     */
    static final int SECONDS_PER_MINUTE = 60;

將轉(zhuǎn)換后的值和1L進(jìn)行比較

    public static long max(long a, long b) {
        return (a >= b) ? a : b;
    }

如果該值小于1分鐘,則按1分鐘算。
最后返回的是三目運(yùn)算的結(jié)果。

到此這篇關(guān)于SpringBoot設(shè)置Session失效時(shí)間的文章就介紹到這了,更多相關(guān)SpringBoot設(shè)置Session失效時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatis之多參數(shù)查詢(xún)方式

    mybatis之多參數(shù)查詢(xún)方式

    這篇文章主要介紹了mybatis之多參數(shù)查詢(xún)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Java編程通過(guò)list接口實(shí)現(xiàn)數(shù)據(jù)的增刪改查代碼示例

    Java編程通過(guò)list接口實(shí)現(xiàn)數(shù)據(jù)的增刪改查代碼示例

    這篇文章是介紹Java編程基礎(chǔ)方面的內(nèi)容,涉及l(fā)ist接口的操作,通過(guò)list接口實(shí)現(xiàn)對(duì)數(shù)據(jù)的增刪改查的相關(guān)代碼,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • java判斷ftp目錄是否存在的方法

    java判斷ftp目錄是否存在的方法

    這篇文章主要為大家詳細(xì)介紹了java判斷ftp目錄是否存在的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • springboot如何配置多kafka

    springboot如何配置多kafka

    這篇文章主要介紹了springboot如何配置多kafka問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java線(xiàn)程中斷機(jī)制interrupt、isInterrupted、interrupted方法詳解

    Java線(xiàn)程中斷機(jī)制interrupt、isInterrupted、interrupted方法詳解

    這篇文章主要介紹了Java線(xiàn)程中斷機(jī)制interrupt、isInterrupted、interrupted方法詳解,一個(gè)線(xiàn)程不應(yīng)該由其他線(xiàn)程來(lái)強(qiáng)制中斷或停止,而是應(yīng)該由線(xiàn)程自己自行停止,所以,Thread.stop、Thread.suspend、Thread. resume都已經(jīng)被廢棄了,需要的朋友可以參考下
    2024-01-01
  • Java中LinkedList數(shù)據(jù)結(jié)構(gòu)的詳細(xì)介紹

    Java中LinkedList數(shù)據(jù)結(jié)構(gòu)的詳細(xì)介紹

    這篇文章主要介紹了Java中LinkedList,Linked List 是 java.util 包中 Collection 框架的一部分,文中提供了詳細(xì)的代碼說(shuō)明,需要的朋友可以參考下
    2023-05-05
  • springboot入門(mén)之profile設(shè)置方式

    springboot入門(mén)之profile設(shè)置方式

    這篇文章主要介紹了springboot入門(mén)?profile設(shè)置方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • 一文詳解Spring攔截鏈的實(shí)現(xiàn)原理

    一文詳解Spring攔截鏈的實(shí)現(xiàn)原理

    在?Web應(yīng)用開(kāi)發(fā)中,攔截器(Interceptor)是一種非常重要的機(jī)制,能夠在請(qǐng)求處理的各個(gè)階段進(jìn)行前置和后置處理,本文主要來(lái)探討一下?Spring?攔截鏈的實(shí)現(xiàn)原理,需要的可以了解下
    2025-01-01
  • Java使用poi獲取不到docx表格中書(shū)簽的問(wèn)題及解決

    Java使用poi獲取不到docx表格中書(shū)簽的問(wèn)題及解決

    這篇文章主要介紹了Java使用poi獲取不到docx表格中書(shū)簽的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 深入淺出講解Java8函數(shù)式編程

    深入淺出講解Java8函數(shù)式編程

    不管是前端還是后端開(kāi)發(fā)人員,學(xué)習(xí)一些函數(shù)式編程的思想和概念,對(duì)于手頭的開(kāi)發(fā)工作和以后的職業(yè)發(fā)展,都是大有裨益的,下面這篇文章主要給大家介紹了關(guān)于Java8函數(shù)式編程的相關(guān)資料,需要的朋友可以參考下
    2022-01-01

最新評(píng)論