Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Weblogic群集环境上设置远程调试?_Java_Eclipse_Debugging_Weblogic_Remote Debugging - Fatal编程技术网

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

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控制台页面启动集群时,远程调试将无法工作

我正在尝试远程调试部署在WebLogic 12c上的群集Web应用程序

我知道如何为普通(非集群)环境设置远程调试,我只是将以下参数添加到名为[startweblog.cmd]的文件中:

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控制台页面(例如:localhost:7001/控制台)
  • 在页面左侧,转到环境群集
  • 找到集群环境的名称并单击它
  • 在“配置”选项卡中,打开“服务器”子选项卡
  • 在页面底部,您将找到一个包含所有集群节点的表
  • 单击其中一个节点(服务器)
  • 在“配置”选项卡中,打开“服务器启动”子选项卡
  • 向下滚动一点,您会发现一个名为“”Arguments“”的文本区域,用远程调试参数填充它: -Xdebug-Xnoagent-Xrunjdwp:transport=dt_套接字,地址=4000,服务器=y,挂起=n
  • 单击“保存”,然后在所有其他群集节点上重复步骤6-8

  • 你完了

    在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
    我已经在下面发布了解决方案,非常感谢。