問題發(fā)生
找不到的這個方法,這一期我們改過方法入?yún)ⅲ匀绻€是用之前的版本的jar的包的話,肯定會報錯
解決
第一反應(yīng)是這個項目類加載有問題,先看下服務(wù)提供方,通過dubbo admin
提供者這個方法是存在的,并且方法總數(shù)和當(dāng)前版本一致,排除問題
那么就讓運維下載這個jar包來看
解壓查看那個接口所在jar包
我勒個去
這個時間不就是上次發(fā)布的時間
開始懷疑運維用上次的jar包發(fā)布,讓運維先重新發(fā)布了一次,但是錯誤依然,讓運維給腳本以及新的jar包
抱歉腳本內(nèi)容太復(fù)雜了,很費時間,不看了
運維給我jar包里面解壓出來是對的。
但是還是有問題啊,同樣的錯,感覺運維還是用老版本的jar包發(fā)布。
感覺不能太依賴運維了,直接詢問能不能吧線上權(quán)限申請下來,我要自己干了
有了線上權(quán)限,直接arthas搞起來
使用sm命令當(dāng)前jvm運行的這個類
image.png
果然。加載的不對。只有4個方法。最新版有8個方法。
那么就用正確的jar包手動發(fā)布吧
發(fā)布完成后,再用arthas看下
8個方法,正確了。
原因
原因是我這個項目是我們公司第一個jar包啟動的項目,運維單獨寫了腳本發(fā)布,但是這個腳本存在質(zhì)量問題。
再感嘆下,我們公司不讓jar包啟動,就算是sb項目,也要用war包兼容方式,放tomcat啟動,尷尬。
當(dāng)然說不是一定要jar包啟動,能支撐業(yè)務(wù)都o(jì)k,但是包容性真的太差了。
自己能干的時候自己干吧
最后附上arthas文檔,排查問題神器
https://alibaba.github.io/arthas/install-detail.html