如何在Weblogic集群环境中设置远程调试?

时间:2015-03-24 15:45:18

标签: java eclipse debugging weblogic remote-debugging

我正在尝试远程调试部署在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]。

2 个答案:

答案 0 :(得分:11)

我明白了!

通过WebLogic控制台页面启动集群节点时, 节点管理器以某种方式处理每个节点的启动,因此它不会运行每个节点的[ startWebLogic.cmd ]文件!

我发现您可以通过控制台页面为每个节点设置远程调试参数,以便节点管理器在尝试启动时将这些参数传递给每个节点。

以下是我的工作方式(编辑:在WebLogic 12c上):

  1. 打开WebLogic控制台页面(例如: localhost:7001 / console
  2. 在页面左侧,转到 环境 >的 集群
  3. 找到群集环境的名称并单击
  4. “配置” 标签中,打开 “服务器” 子标签
  5. 在页面底部,您将找到包含所有群集节点的表格。
  6. 单击其中一个节点(服务器)。
  7. “配置” 标签中,打开 “服务器启动” 子标签
  8. 向下滚动一下,您会找到名为 “Arguments” 的文本区域,并使用远程调试参数填充它: -Xdebug -Xnoagent -Xrunjdwp:transport = dt_socket,address = 4000,server = y,suspend = n
  9. 点击 “保存” ,然后在所有其他群集节点上重复 6-8 步骤。
  10. 你完成了!

答案 1 :(得分:0)

在 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 OPTIONS:

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 协议是用于使用远程调试器进行调试的协议。