搜索

15.2. 调试远程运行的路由上下文

download PDF
注意

远程主机上部署的 Fuse 服务器无法在 CodeReady Studio 的 Servers 视图中注册。因此,您无法启动、自动重新部署或从 CodeReady Studio 中停止远程 Fuse 服务器。反之,您必须在 CodeReady Studio 之外以调试模式启动 Fuse。

先决条件

设置并启动远程调试

在 Fuse 和服务器上部署的项目停止后,您需要设置和启动远程调试,如下所示:

  • 在 Red Hat CodeReady Studio 之外,以调试模式启动 Fuse。

    在远程主机上部署的 Fuse 服务器无法在 CodeReady Studio 的 Servers 视图中注册,因此您必须在 CodeReady Studio 的调试模式中启动 Fuse。

  • 在 CodeReady Studio 中,在项目的路由上下文中的节点上设置断点,这在路由编辑器中打开。
  • 创建远程 Camel 上下文调试配置并运行它。
  • JMX Navigator 视图中连接到 Fuse 运行时。
  • 在 Fuse 运行时中运行的 Camel 路由的输入节点上丢弃 JMX Navigator 视图中的测试消息。
  • 使用任何 Camel 调试器工具调试路由。

流程

设置并启动远程调试:

  1. 在 Red Hat CodeReady Studio 之外打开一个终端,并输入

    $ [FUSE_HOME]/bin/fuse debug
  2. 等待 Fuse splash 屏幕出现,然后返回到 CodeReady Studio 中的 Fuse Integration 视角。
  3. 在工具的路由编辑器中,项目的路由上下文在 Design 选项卡中打开,对感兴趣的节点设置断点。详情请查看 第 14 章 设置 Breakpoints
  4. Project Explorer 视图中,右键点击项目的根目录,然后选择 Debug As Debug Configuration 来打开 Debug Configuration 向导:

    NewRemoteDBLaunchCnfg
  5. 在配置类型窗格中,选择 Remote Camel ContextRemote Camel Context 和 Java,然后点 New Configuration

    CCJdbNewLaunchCnfg

    对于 Remote Camel ContextRemote Camel Context 和 Java 选项,您需要在 CamelJMX 选项卡上指定配置详情。

    对于 Remote Camel Context 和 Java 选项,您还需要在 Connect 选项卡中指定配置详情。

    注意

    除非您的项目包含您要使用标准 Eclipse Java 调试工具调试的 Java 代码,请选择 Remote Camel Context 选项。

  6. Name 字段中输入新启动配置的名称。
  7. Camel 选项卡中,点 Browse 按钮在 Open Resources 对话框中找到项目的路由上下文 .xml 文件:

    CCdbSelCamelCntxt
    注意

    当您在 Matching items 窗格中选择一个文件时,工具会在窗格的底部显示文件的位置,相对于项目 root。

  8. Matching items 窗格中,从列表中选择您的项目的路由上下文文件,然后单击 OK

    该工具将文件的路径插入到 Select Camel Context file 字段中:

    CCJDbugCamelTabNew
  9. JMX 标签页:

    RemoteDBJMXtabDefaults

    编辑 JMX 连接详情,如下所示:

    • JMX Uri mvapich-mvapichchange :9011/jmxrmi to :1099/karaf-root

      如果 Fuse 服务器在远程主机上运行,请将 localhost 替换为远程主机的 DNS 名称或 IP 地址。

    • JMX User criu-wagonenter admin.
    • JMX Password criu-wagonenter admin.

      重要

      JMX 用户和 JMX 密码 显示的值是 Fuse admin 用户默认值,存储在 Fuse_HOME/etc/users.properties 文件中。如果您的设置不同,请输入特定于它的值。

      如果您要创建 远程 Camel Context debug 启动配置,则已完成。跳至 [debugCfgGo]

  10. Connect 选项卡:

    RemoteDBConnectTabDefaults

    Port 值从 8000 更改为 5005。将其他属性保留原样。

  11. Apply,然后点 Debug
  12. JMX Navigator 视图中,双击 Fuse [xxx] [Disconnected] 以连接它,然后展开其树。
  13. Project Explorer 视图中,从 src/test/resources/data 拖动测试消息,并将它放到 JMX Navigator 视图中的 cbr-example-context/Endpoints/file/work/input 文件夹。

    当消息点击路由上下文中设置的第一个断点时,工具会要求您切换到 Debug 视角:

    DBCnfrmSwitchToDBView
  14. 单击 Yes

    RemoteDBPerspOpen

    此时,您可以使用任何 Camel 调试器的工具来调试路由上下文。

    注意

    在远程调试会话中,Console 视图不会显示日志输出。

    注意

    当一个消息到达路由上下文的末尾时,调试器会被暂停。要继续调试,请切换到 Fuse 集成 视角,并在 JMX Navigator 视图中输入节点上丢弃另一条消息。每次这样做时,工具都会要求您确认切换到 Debug 视角。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.