發現bug:
在伺服器上部署後台服務並驗證能夠正常執行,但是一次修改配置重啟後突然出現了乙個空指標bug,部署的程式並沒有改變
2.定位bug:
空指標定位到乙個變數,查詢**發現變數初始化來自於讀取配置檔案,但是檢查配置檔案中有正常配置相應值,所以無法找到原因。
後來在開發機器上除錯服務都沒有問題,只好重新部署服務到伺服器,發現是能夠正常執行。
比較兩次部署的服務包,內容完全一致,唯獨配置檔案的二進位制不同,使用十六進製制檢視配置檔案,發現檔案開頭多出了3個位元組的bom頭。
3.解決bug:
使用文字編輯工具將配置檔案的bom頭去掉後,重新啟動服務,驗證能夠正常執行。
4.分析bug:
net.sunyijun
resource-utils
使用該工具庫讀取配置可以相容bom頭。具體用法詳見
readme。
附bom頭規則:
00 00 fe ff = utf-32, big-endian
ff fe 00 00 = utf-32, little-endian
ef bb bf = utf-8,
fe ff = utf-16, big-endian
ff fe = utf-16, little-endian
java 讀取配置檔案
前幾天因為配置檔案的事,線上的job掛掉了,使用的是spring載入配置檔案方式。spring配置如下 test.properties api test.properties decryptpropertyplaceholderconfigurer類如下所示。public class decrypt...
Java讀配置檔案
讀取配置檔案的方案 public string getproperty string name,string k in.close catch exception e return val 在springboot中,可以將其設定為aop的切面 注意 第乙個引數name,直接寫a.properties...
java讀取配置檔案
現今的程式都要求能夠讀寫配置檔案,使得程式的配置資訊能夠很方便地修改。讀取配置檔案通常使用property檔案,下面列舉了從hadoop的hdfs和本地的檔案系統讀取配置的例子。話不多說,上 讀取hdfs配置檔案 public static properties getpropertiesfromh...