ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)

本文详细阐述了在服务器部署4个Tomcat时遇到JDWP端口冲突导致其他Tomcat启动失败的问题。通过查看JAVA监听端口并修改不同Tomcat的端口号配置,最终成功解决了端口冲突问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值