ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
1 ERROR: transport error 202: bind failed 2 ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) 3 JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690] 4 FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
?
部署環境:服務器上部署4個tomcat,啟動1個之后,其他3臺報地址沖
百度各種查詢,都沒有解決問題,搜出來的問題都一樣,經過查詢和測試,找到了此問題的原因,和解決方案。
首先查看一下JAVA的監聽占用的端口:#netstat -anp|grep java
JDWP(Java Debug Wire Protocol)是一個為 Java 調試而設計的一個通訊交互協議,它定義了調試器和被調試程序之間傳遞的信息的格式。在 JPDA 體系中,作為前端(front-end)的調試者(debugger)進程和后端(back-end)的被調試程序(debuggee)進程之間的交互數 據的格式就是由 JDWP 來描述的,它詳細完整地定義了請求命令、回應數據和錯誤代碼,保證了前端和后端的 JVMTI 和 JDI 的通信通暢。比如在 Sun 公司提供的實現中,它提供了一個名為? jdwp.dll(jdwp.so)的動態鏈接庫文件,這個動態庫文件實現了一個 Agent,它會負責解析前端發出的請求或者命令,并將其轉化為 JVMTI 調用,然后將 JVMTI 函數的返回值封裝成 JDWP 數據發還給后端。
另外,這里需要注意的是 JDWP 本身并不包括傳輸層的實現,傳輸層需要獨立實現,但是 JDWP 包括了和傳輸層交互的嚴格的定義,就是說,JDWP 協議雖然不規定我們是通過 EMS 還是快遞運送貨物的,但是它規定了我們傳送的貨物的擺放的方式。在 Sun 公司提供的 JDK 中,在傳輸層上,它提供了 socket 方式,以及在 Windows 上的 shared memory 方式。當然,傳輸層本身無非就是本機內進程間通信方式和遠端通信方式,用戶有興趣也可以按 JDWP 的標準自己實現
現在來看這個JDWP端口在哪里配置的問題,在tomcat/bin/catalina.sh中
對就是這里配置的,把不同tomcat下的端口修改為不同的綁定。問題迎刃而解。
至于其他情況下的,具體問題都是這里的配置問題,根源在此,條條大路通羅馬,走的路不一樣,可以參考網絡
轉載于:https://www.cnblogs.com/sagech/p/4547081.html
總結
以上是生活随笔為你收集整理的ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SCCM 2007系列教程之六使用组策略
- 下一篇: 云桌面计算机被锁定如何解决,桌面布局已锁