yaml文件讀取以0開頭數(shù)字型值的坑

事件的起因是要對接一個rabbitmq,rabbitmq的賬號是000008。結(jié)果程序在啟動時候一直報錯,報錯信息如下:

Caused by: com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.

從報錯信息上可以看出是授權(quán)失敗,肯定是賬號密碼的問題。
但是確認(rèn)了賬號密碼及配置文件中的配置。

spring:
  rabbitmq:
    host: myip
    port: 5672
    username: 000008
    password: mypwd

后面也是發(fā)現(xiàn),同一rabbitmq環(huán)境下的test用戶,是可以連接的。
兩個用戶的權(quán)限也是一樣的,使用的程序也是一樣的。

發(fā)現(xiàn)上述奇怪的現(xiàn)象后,陷入了沉思,后面啟動時候直接debug代碼,才發(fā)現(xiàn)問題之所在。
原來用戶000008在程序讀取后竟然不是000008。

后面經(jīng)過查閱資料,了解yml文件讀取的一個原理,對于以數(shù)字0開頭的數(shù)字型值,在讀取時候會按照8進(jìn)制讀取,所以實際讀取到的并不是000008。

綜合以上,把配置文件中用戶名修改為字符串即可。

spring:
  rabbitmq:
    host: myip
    port: 5672
    username: '000008'
    password: mypwd

所以綜合以上,在yml文件中配置相應(yīng)的數(shù)字型值時,為了防止意外,最好加上單引號。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容