欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Springboot2session設(shè)置超時時間無效怎么解決

本文小編為大家詳細(xì)介紹“Springboot2 session設(shè)置超時時間無效怎么解決”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Springboot2 session設(shè)置超時時間無效怎么解決”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、宣恩ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的宣恩網(wǎng)站制作公司

問題:

今天項目中遇到了一個設(shè)置時間超時的問題,按SpringBoot2的application.properties更改一直不生效。

解決方案:

  • server.*屬性用于控制Spring Boot使用的嵌入式容器 。 Spring Boot將使用ServletWebServerFactory實例之一創(chuàng)建servlet容器的實例。 這些類使用server.*屬性來配置受控的servlet容器(tomcat,jetty等)。

  • 當(dāng)應(yīng)用程序作為war文件部署到Tomcat實例時, server.*屬性不適用。 它們不適用,因為可以使用預(yù)先配置的servlet容器(因為它是遠(yuǎn)程運行的服務(wù))。 因此,部署到遠(yuǎn)程Tomcat將使server.*屬性無用。

1. 按照網(wǎng)上給的帖子更改配置文件(如果是Jar啟動生效) ,如下:

server:
  servlet:
    session:
      timeout: PT1H        # 1小時過期
      cookie:
        max-age: PT1H      # 1小時過期

說明:PT1H 意思是設(shè)置session失效的時間是1小時。

擴展:Duration

通過查看springboot源碼發(fā)現(xiàn)setTimeouot方法,這里要求傳入Duration的實例

public void setTimeout(Duration timeout) {
       this.timeout = timeout;
    }

Duration是在Java8中新增的,主要用來計算日期差值,Duration是被final聲明的,并且是線程安全的。

如果轉(zhuǎn)換字符串方式,類似于 SimpleDateFormat 的格式化日期方式

Duration 字符串類似數(shù)字有正負(fù)之分:默認(rèn)為正,負(fù)以'-'開頭,下面緊接著'PT', 下面時間字母:

  • 'D' – 天

  • 'H' – 小時

  • 'M' – 分鐘

  • 'S' – 秒

每個單位都必須由數(shù)字開始,且時分秒順序不能亂,比如:PT2H3M2S 等于 -PT-2H-3M-2S。

2. 設(shè)置tomcat的session超時

1)在tomcat的conf目錄下,更改servler.xml:

<Context path="/abtest" docBase="/abtest"  
  defaultSessionTimeOut="3600" isWARExpanded="true"  
  isWARValidated="false" isInvokerEnabled="true"  
  isWorkDirPersistent="false"/>

2) 項目中更改web.xml:

<session-config>  
    <session-timeout>20</session-timeout>  
</session-config>

3)在程序中更改

session.setMaxInactiveInterval(30*60);

當(dāng)你遇到同樣的問題時,請先看上面的紅字,按順序排查即可。

測試代碼:

@RestController
@RequestMapping("/valid-time")
public class TestController { 
    @GetMapping("/test")
    public String validTime(HttpServletRequest request, HttpServletResponse response) {
        HttpSession session = request.getSession(); 
        int sessionTime = session.getMaxInactiveInterval(); 
        return new StringBuilder("sessionTime=").append(sessionTime).toString();
    }
}

時間不同步導(dǎo)致Spring session失效的巨坑

Linux服務(wù)器時間不同步導(dǎo)致Spring session失效的巨坑

由于業(yè)務(wù)的需要,將原本單機環(huán)境轉(zhuǎn)為集群式環(huán)境,為了不修改任務(wù)所以選擇了spring session + redis作為session共享方案。

確認(rèn)技術(shù)方案之后就在網(wǎng)上巴拉巴拉的搜索一堆關(guān)于spring session的資料,看了一遍沒有發(fā)現(xiàn)前人有任何躺坑后,開始著手。

安裝redis過程忽略。

根據(jù)資料一步一步的將spring session加入工程,單節(jié)點情況項目成功跑起來,沒有報錯,session也成功的寫入了redis。

然后為了穩(wěn)妥起見,又在自己電腦上安裝了nginx,并部署了3個tomcat,一切看起來都那么完美,多個節(jié)點之間完成了session共享。

到目前已經(jīng)完成了所有前期準(zhǔn)備,就差最后一步了。

噩夢開始了……

在線上將所有節(jié)點部署完成,然后打開瀏覽器順利訪問到應(yīng)用,當(dāng)然我們不能僅僅停留在看到頁面完事的地步,怎么也要登錄登錄吧,于是……

然后……

無數(shù)次的輸入用戶密碼,提示登錄成功,最終的結(jié)果還是被拒之門外,o(╥﹏╥)o

接下來就是無數(shù)的填坑之旅

看日志……

看各種請求請求……

懷疑spring session有BUG……

甚至開啟了遠(yuǎn)程DEBUG模式調(diào)試,終于在萬能的DEBUG模式下看到,spring session的getSession的時候,如果獲取到了session,首先會判斷此session有沒有過期,比較的方式也很簡單,就是獲取當(dāng)前系統(tǒng)時間去和session的過期時間進行比較,如果當(dāng)前時間小于過期時間,則標(biāo)識此session沒有過期。看到這里,瞬間有了一股醍醐灌頂之感,小宇宙終于在這里爆發(fā)了。

尼瑪—>獲取的session全部是過期的,然后……然后……當(dāng)然是趕緊跑去看服務(wù)器時間,于是……哭了o(╥﹏╥)o,原來尼瑪是你坑了我……

為了紀(jì)念這次躺坑之旅,特發(fā)此文

另外順便記錄一下Linux服務(wù)器時間同步

date命令:

date :查看當(dāng)前時間,結(jié)果如下:Tue Mar 4 01:36:45 CST 2017

date -s 09:38:40 :設(shè)置當(dāng)前時間,結(jié)果如下:Tue Mar 4 09:38:40 CST 2017

ntpdate命令:

ntpdate -u ntp.api.bz :網(wǎng)絡(luò)時間同步命令

ntp常用服務(wù)器:

中國國家授時中心:210.72.145.44

NTP服務(wù)器(上海) :ntp.api.bz

讀到這里,這篇“Springboot2 session設(shè)置超時時間無效怎么解決”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞名稱:Springboot2session設(shè)置超時時間無效怎么解決
文章來源:http://aaarwkj.com/article38/gpeipp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、品牌網(wǎng)站制作網(wǎng)站改版、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司
免费无遮挡午夜视频网站| 91久久亚洲综合精品日本| 亚洲午夜精品久久久天堂| 尤物视频最新在线观看| 黄色永久网站在线播放| 免费看国产一级黄色大片| 国产精品麻豆色哟哟av| 午夜av一区二区三区| 亚洲国产成人精品久久精品| 国产日韩精品欧美综合区| 精品一二三区在线天堂| 国产亚洲精品久久久闺蜜| 18禁黄网站免费观看在线| 成人av在线天堂一区二区三区| 黑人巨大精品欧美黑寡妇| 91精品国产91久久综合桃花| 一区二区三区高清人妻日本| 又黄又湿又刺激中文字幕| 日本日韩一区二区国产| 亚洲国产欧美在线人成人| av亚洲天堂免费观看| 国产精品成人一区二区艾草 | 日韩欧美精品视频一区| av成人综合在线资源站| 亚洲av日韩av高潮| 中文字幕乱码av一区二区| 天天操天天日天天射夜夜爽| 涩久久悠悠一区二区三区| 久久久亚洲福利精品午夜| 日韩一二区不卡在线视频| 人妻丝袜中文字幕在线| 精品人妻少妇一区二区三区| 99热这里只有精品最新| 日本一区二区三级在线观看| 最新日本欧美一区二区| 国产一区二区不卡在线播放| 欧美日本黄色一级视频| 亚洲婷婷综合久久一区二区| 精品人妻一区二区三区| 亚洲视频一直看一直爽| 97免费观看在线观看|