微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

容器化 WebLogic 服务器中的调试端口

如何解决容器化 WebLogic 服务器中的调试端口

我有一个容器化的 WebLogic 服务器,它运行在我的 docker 主机上,映射了三个端口:5556、6001、7001。我已经部署了我的 Java 产品,一切都成功了。我还根据 WebLogic 上的这篇文章在 8453 上分配了一个调试端口:

https://docs.oracle.com/en/cloud/paas/java-cloud/jscug/enable-jvm-debug-port.html#GUID-C83E051D-3A28-4FE7-8333-20F40A06DAEA

在 Intellij IDE 中,我在“编辑配置...”中的本地主机端口 8453 上配置了我的调试端口。在这里,一切似乎都非常好。但是当我要调试时,连接失败了。

“无法打开调试器端口(本地主机:8453):java.net.connectException“连接被拒绝:连接”

我对 WebLogic 服务器有点天真。这可能是因为不知何故给定的端口未映射导致此错误。如果有人以前有过这样的经历,请帮助我。

解决方法

环境变量 JAVA_OPTIONS 通常设置在 startWeblogic.sh 上。使用 dockerized weblogic 时,需要使用调试选项和地址设置相同的变量。

例如,您可以在 Dockerfile 上设置变量。 以下内容会将 Weblogic 应用程序的调试端口设置为 4000 :

ENV JAVA_OPTIONS $JAVA_OPTIONS -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n

这个端口也需要暴露。 例如在 docker-compose.yml 上:

ports:
        - 4000:4000

在 IntelliJ IDEA 上,握手成功,无需使用容器的 IP 地址。

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。