报错内容:
ERROR: transport error 202: bind failed: Address already in use: JVM_Bind Listening for transport dt_socket at addres
错误原因明显是端口占用,但是我明明已经将resin.properties
文件中的app_servers
修改为不同的端口了。
原因
原因是之前为了让idea远程debug resin服务,修改了其中一个resin的resin.properties
文件中的jvm_args
,
原内容:
jvm_args : -Xmx4000m -Xms4000m -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:-OmitStackTraceInFastThrow -XX:+UseParNewGC -XX:+DisableExplicitGC -javaagent:wagent.jar -javaagent:stophotdeploy.jar -Djdk.tls.ephemeralDHKeySize=2048 -Dfile.encoding=GBK -javaagent:rasp/rasp.jar
被我之前修改成了
jvm_args : -Xdebug -Xrunjdwp:transport=dt_socket,address=9081,server=y,suspend=n -Dcom.sun.management.jmxremote -Xloggc:/var/log/resin_gc.log
而另一个resin服务还是保持原来的内容,所以2个服务无法启动,会报错address端口被占用。
解决
解决方法是2个resin都配置address=
,端口要设置不同的,或者都用原来默认的jvm_args。
这里使用都配置address=
的方法:
第一个文件:
jvm_args : -Xdebug -Xrunjdwp:transport=dt_socket,address=9081,server=y,suspend=n -Dcom.sun.management.jmxremote -Xloggc:/var/log/resin_gc.log
第二个文件
jvm_args : -Xdebug -Xrunjdwp:transport=dt_socket,address=9082,server=y,suspend=n -Dcom.sun.management.jmxremote -Xloggc:/var/log/resin_gc.log