Java 如何在Weblogic群集环境上设置远程调试?
我正在尝试远程调试部署在WebLogic 12c上的群集Web应用程序 我知道如何为普通(非集群)环境设置远程调试,我只是将以下参数添加到名为[startweblog.cmd]的文件中:Java 如何在Weblogic群集环境上设置远程调试?,java,eclipse,debugging,weblogic,remote-debugging,Java,Eclipse,Debugging,Weblogic,Remote Debugging,我正在尝试远程调试部署在WebLogic 12c上的群集Web应用程序 我知道如何为普通(非集群)环境设置远程调试,我只是将以下参数添加到名为[startweblog.cmd]的文件中: set JAVA_OPTIONS=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n 但是,当我尝试在集群环境的所有节点上设置相同的参数,然后使用WebLogic控制台页面启动集群时,远程调试将无法工作
set JAVA_OPTIONS=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n
但是,当我尝试在集群环境的所有节点上设置相同的参数,然后使用WebLogic控制台页面启动集群时,远程调试将无法工作!!(Eclipse将无法连接)
我怀疑这是由WebLogic的节点管理器启动单个节点的方式造成的,就像它没有为每个节点调用[startweblog.cmd]。我找到了答案
通过WebLogic控制台页面启动群集节点时,
节点管理器以某种方式处理每个节点的启动,因此它不会运行每个节点的[startweblog.cmd]文件
我发现您可以通过控制台页面本身为每个节点设置远程调试参数,这样节点管理器在尝试启动节点时会将这些参数传递给每个节点
下面是我是如何做到这一点的(编辑:在WebLogic12c上):
你完了 在WebLogic服务器上启用调试 为了让JDeveloper调试器调试部署到WebLogic Server的应用程序,必须在调试模式下启动服务器。WebLogic服务器调试基于Java平台调试器体系结构(JPDA)。注意:我们使用域WLU服务器来部署和调试提供的应用程序 要在调试模式下启动WebLogic Server,您需要修改\wlserver\u 10.0\samples\domains\wl\u Server目录中的startweblog.cmd脚本。是WebLogic 10.0.1安装到的目录 在startweblog.cmd脚本中,使用以下命令指定JAVA选项:
set JAVA_OPTIONS=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n
-XDebug参数启用调试。-Xnoagent参数禁用默认的sun.tools.debug调试代理。-Xrunjdwp参数加载JDWP的JPDA参考实现。已在端口4000上启用调试。JDWP协议是用于使用远程调试器进行调试的协议。您是否查看了nodemanager.properties文件以查看它调用了什么?您需要设置
startScriptEnabled=true
并将其指向startManagedWeblogic
,然后调用startWebLogic
我已经在下面发布了解决方案,非常感谢。