Weblogic集群环境下如何设置远程调试?
How to setup remote debugging on Weblogic clustered environment?
我正在尝试远程调试部署在 WebLogic 12c 上的集群 Web 应用程序。
我知道如何为普通(非集群)环境设置远程调试,我只是将以下参数添加到名为 [startWebLogic.cmd] 的文件中:
set JAVA_OPTIONS=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n
但是当我尝试在集群环境的所有节点上设置相同的参数,然后使用WebLogic 控制台页面启动集群时,远程调试将不起作用!! (Eclipse 将无法连接)。
我怀疑这是由 WebLogic 的节点管理器启动各个节点的方式引起的,好像它没有为每个节点调用 [startWebLogic.cmd]。
我想通了!
当您通过WebLogic控制台页面启动集群节点时,
节点管理器以某种方式处理每个节点的启动,因此它不会 运行 每个节点的 [startWebLogic.cmd] 文件!
我发现您可以通过控制台页面本身为每个节点设置远程调试参数,以便节点管理器在尝试启动时将这些参数传递给每个节点它。
下面是我是如何做到的(编辑:在 WebLogic 12c 上):
- 打开 WebLogic 控制台页面(例如:localhost:7001/console)
- 在页面左侧,转到 环境 > 集群
- 找到您的集群环境的名称并单击它
- 在"Configuration"选项卡中,打开"Servers" 子选项卡
- 在页面底部,您会找到 table 您拥有的所有集群节点。
- 单击其中一个节点(服务器)。
- 在"Configuration"选项卡中,打开"Server Start" 子选项卡
- 向下滚动一点,你会发现一个名为"Arguments"的文本区,用远程调试填充它参数:
-Xdebug -Xnoagent -X运行jdwp:transport=dt_socket,address=4000,server=y,suspend=n
- 单击"Save",然后对所有重复步骤6-8其他集群节点。
大功告成!
在 WebLogic Server 上启用调试
为了让 JDeveloper 调试器调试部署到 WebLogic Server 的应用程序,服务器必须以调试模式启动。 WebLogic Server 调试基于 Java 平台调试器架构 (JPDA)。注意:我们正在使用域 wl_server 来部署和调试提供的应用程序。
要在调试模式下启动 WebLogic Server,您需要修改 \wlserver_10.0\samples\domains\wl_server 目录中的 startWebLogic.cmd 脚本。是安装WebLogic 10.0.1的目录。
在 startWebLogic.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 协议是用于使用远程调试器进行调试的协议。
我正在尝试远程调试部署在 WebLogic 12c 上的集群 Web 应用程序。
我知道如何为普通(非集群)环境设置远程调试,我只是将以下参数添加到名为 [startWebLogic.cmd] 的文件中:
set JAVA_OPTIONS=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n
但是当我尝试在集群环境的所有节点上设置相同的参数,然后使用WebLogic 控制台页面启动集群时,远程调试将不起作用!! (Eclipse 将无法连接)。
我怀疑这是由 WebLogic 的节点管理器启动各个节点的方式引起的,好像它没有为每个节点调用 [startWebLogic.cmd]。
我想通了!
当您通过WebLogic控制台页面启动集群节点时, 节点管理器以某种方式处理每个节点的启动,因此它不会 运行 每个节点的 [startWebLogic.cmd] 文件!
我发现您可以通过控制台页面本身为每个节点设置远程调试参数,以便节点管理器在尝试启动时将这些参数传递给每个节点它。
下面是我是如何做到的(编辑:在 WebLogic 12c 上):
- 打开 WebLogic 控制台页面(例如:localhost:7001/console)
- 在页面左侧,转到 环境 > 集群
- 找到您的集群环境的名称并单击它
- 在"Configuration"选项卡中,打开"Servers" 子选项卡
- 在页面底部,您会找到 table 您拥有的所有集群节点。
- 单击其中一个节点(服务器)。
- 在"Configuration"选项卡中,打开"Server Start" 子选项卡
- 向下滚动一点,你会发现一个名为"Arguments"的文本区,用远程调试填充它参数: -Xdebug -Xnoagent -X运行jdwp:transport=dt_socket,address=4000,server=y,suspend=n
- 单击"Save",然后对所有重复步骤6-8其他集群节点。
大功告成!
在 WebLogic Server 上启用调试
为了让 JDeveloper 调试器调试部署到 WebLogic Server 的应用程序,服务器必须以调试模式启动。 WebLogic Server 调试基于 Java 平台调试器架构 (JPDA)。注意:我们正在使用域 wl_server 来部署和调试提供的应用程序。
要在调试模式下启动 WebLogic Server,您需要修改 \wlserver_10.0\samples\domains\wl_server 目录中的 startWebLogic.cmd 脚本。是安装WebLogic 10.0.1的目录。
在 startWebLogic.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 协议是用于使用远程调试器进行调试的协议。