想當然地以爲程序連接不到數據庫就會報異常,日誌中就可以看到,但是今天遇到的問題真是熬了半天的時間,定位問題的方向不對。記錄並反思。
背景:
1、完成一個支付渠道的開發。
2、一個只放了測試頁面的動態項目。功能就是模擬其他服務發送http請求,走流程。
部署:測試linux的tomcat中把這兩個web工程放進去啓動。沒報錯。
3、訪問頁面可以訪問到。但是提交表單,請求發送不到另一個服務上。接口不通。在本地起來,postman發送post請求都是正常的,但是放到服務器上,訪問不打印日誌。進不來。
解決過程:
1、排除ip不對,telnet不通基本因素。
2、頁面F12,查看有報錯,是請求似乎沒有正常返回,返回的空,而且經常connect_time_out。
3、後來以爲是ip拼接的不對,改爲localhost、linux服務器的ip。都試了。此處方向有點跑偏了,而且花費了我大量的時間。因爲當我修改爲localhost,自以爲,這兩個服務都在linux上,互相訪問就是應該用localhost(殊不知,訪問的頁面是我的本地啊,發起的請求是來自頁面,如果是後臺之間的請求,我的理解就是沒有問題的。),這導致頁面報了,跨源請求異常,然後就浪費了時間在頁面是重寫JS。後來還是老員工說強調說這ip是對的,想想也是,請求是發成功了,只是沒有反饋到。
4、在本地postman發送get請求,日誌打印出來了。說明是通的。
5、顯然也不是post請求原因,同事說這是不是鏈接超時沒有配置,看了一下果然是。這才確認是請求都被hang住了,一直等待,後臺也不報錯,也沒有日誌。hang住的原因是數據庫連接不對,但又沒有連接超時配置,程序一直在嘗試連接。---所以說如果配置對的話也不會存在這種問題了。