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

Gha*_*yth 4 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
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在集群环境的所有节点上设置相同的参数,然后使用WebLogic控制台页面启动集群时,远程调试将无法正常工作!(Eclipse将无法连接).

我怀疑这是由WebLogic的节点管理器启动各个节点的方式引起的,就像它没有为每个节点调用[startWebLogic.cmd]一样.

Gha*_*yth 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.

你完成了!