搜索

第 10 章 将项目发布到红帽 Fuse

download PDF

本教程介绍了将项目发布到红帽 Fuse 的过程。它假设您已在运行 Red Hat Fuse 工具的同一机器上安装了一个 Red Hat Fuse 实例。

目标

在本教程中,您将完成以下任务:

  • 定义 Red Hat Fuse 服务器
  • 配置发布选项
  • 启动 Red Hat Fuse 服务器并发布 ZooOrderApp 项目
  • 连接到 Red Hat Fuse 服务器
  • 验证 ZooOrderApp 项目的捆绑包是否已成功构建并发布
  • 卸载 ZooOrderApp 项目

先决条件

在开始本教程前:

定义 Red Hat Fuse Server

定义服务器:

  1. 打开 Fuse Integration 透视图。
  2. 单击右下角的 Servers 选项卡,以打开 Servers 视图。
  3. No servers 可用。点击此链接来创建新 server…​ 链接,以打开 Define a New Server 页面。

    注意

    要在已经定义时定义新服务器,请在 Servers 视图中右键单击,然后选择 New Server

  4. 扩展 Red Hat JBoss Middleware 节点以公开可用的服务器选项:

    tutDefineNewServer
  5. 选择 Red Hat Fuse 服务器。
  6. 接受 服务器主机名(localhost)和 服务器名称 (Fuse n.n Runtime Server)的默认值,然后单击 Next 以打开 Runtime 页面:

    tutFuseRuntimeDef1
    注意

    如果您尚未安装 Fuse,现在可以使用 Download and install runtime 链接下载它。

    如果您已经定义了服务器,工具会跳过此页面,并显示配置详情页面。

  7. 接受 名称 的默认值。
  8. 单击 Home Directory 字段旁边的 Browse,以导航到安装并选择它。
  9. Execution Environment 旁边的下拉菜单中选择运行时 JRE。

    选择 JavaSE-1.8 (推荐)。如有必要,单击 Environments 按钮,将其从列表中选中。

    注意

    Fuse 服务器需要 Java 8 (推荐)。要为 Execution Environment 选择它,您必须已安装了它。

  10. Alternate JRE 选项保留原样。
  11. Next 以保存 Fuse 服务器的运行时定义,并打开 Fuse 服务器配置详情页面

    NewServerDetailsTut
  12. 接受 SSH 端口 的默认端口(8101)。

    运行时使用 SSH 端口来连接服务器的 Karaf shell。如果此默认不正确,您可以通过在 Red Hat Fuse installDir/etc/org.apache.karaf.shell.cfg 文件中查找正确的端口号。

  13. 用户名 中,输入用于登录服务器的名称。

    这是存储在 Red Hat Fuse installDir'/etc/users.properties' 文件中的用户名。

    注意

    如果在 /etc/users.properties 文件中激活(未添加) 默认用户,工具将使用默认用户名和密码自动填充用户名和密码。

    如果没有设置,您可以使用格式 user=password,role (如 joe=secret,Administrator)添加到该文件中,也可以使用 karaf jaas 命令集设置:

    • jaas:realms swig-wagonto 列出域
    • jaas:manage --index 1 swig- swigto 编辑第一个(server)域
    • jaas:useradd <username> <password > HEKETI- swigto 添加用户和关联的密码
    • jaas:roleadd <username> Administrator wagon-rhacmto 指定新用户的角色
    • jaas:update HEKETI- swigto 使用新的用户信息更新域

      如果已经为服务器选择了 jaas 域,您可以通过发出 JBossFuse:karaf@root>jaas:users 来发现用户名。

  14. Password 中,键入 用户名 所需的密码以登录到服务器。

    这是在红帽 Fuse 的 installDir/etc/users.properties 文件中或 karaf jaas 命令中设定的密码。

  15. Finish

    Runtime Server [stopped, Synchronized] 会出现在 Servers 视图中。

  16. Servers 视图中,展开 Runtime Server:

    JBFuseServersView

    JMX[Disconnected]Runtime Server [stopped, Synchronized] 条目下显示为节点。

配置发布选项

使用发布选项,您可以配置 ZooOrderApp 项目如何以及何时发布到正在运行的服务器:

  • 在保存对项目所做的更改后自动自动
  • 更改并保存项目后自动配置的间隔
  • 选择发布操作时手动

在本教程中,您可以在保存对 ZooOrderApp 项目的更改时配置立即发布。要做到这一点:

  1. Servers 视图中,双击 Runtime Server [stopped, Synchronized] 条目,以显示其概览。
  2. 在服务器的 Overview 页面中,展开 Publishing 部分以公开选项。

    srvEditorPubOpts

    确保启用 资源更改时,自动发布 选项。

    (可选)更改 发布间隔 值,以便在进行更改时加快或延迟发布项目。

  3. Servers 视图中,点 Start the server
  4. 等待几秒钟,使服务器启动。当它这样做时:

    • Terminal 视图显示 splash 屏幕:

      tutServerStartShellV
    • Servers 视图显示:

      tutServerStartServerV
    • JMX Navigator 显示 n.n Runtime Server[Disconnected

      tutServerStartJMXNav
  5. Servers 视图中,右键单击 n.n Runtime Server [Started],然后选择 Add and Remove 以打开 Add 和 Remove 页面:

    tutAddRemove1

    确保 如果服务器启动,则立即检查发布更改

  6. 选择 ZooOrderApp 并点 Add 将其分配给 Fuse 服务器:

    tutAddRemove2
  7. Finish

    Servers 视图应该显示以下内容:

    tutCBRrtePublishedSrvV
    • Runtime Server [Started, Synchronized]

      注意

      对于服务器,同步 意味着服务器上发布的所有模块都与其本地对应的项相同。

    • ZooOrderApp [Started, Synchronized]

      注意

      对于模块,sync 表示公布的模块与其本地对应的模块相同。由于启用了自动发布,因此对 ZooOrderApp 项目所做的更改将以秒为单位发布(根据 发布间隔的值)。

    • JMX[Disconnected]

连接到运行时服务器

连接到运行时服务器后,您可以看到 ZooOrderApp 项目的已发布元素并与它们交互。

  1. Servers 视图中,双击 JMX[Disconnected] 以连接到运行时服务器。
  2. JMX Navigator 中,展开 Camel 文件夹以公开 ZooOrderApp 的元素。

    tutJMXconnected
  3. Bundles 节点,使用运行时服务器上安装的捆绑包列表填充 Properties 视图:

    tutCBRrouteBundleInstall
  4. Search 字段中,键入 ZooOrderApp。显示对应的捆绑包:

    tutCBRrouteBundleSearch
    注意

    或者,您可以在 Terminal 视图中发出 osgi:list 命令,以查看在服务器运行时上安装的生成的捆绑包列表。该工具对 OSGi 捆绑包使用不同的命名方案,由 osgi:list 命令显示。在这种情况下,命令会返回 Camel Blueprint Quickstart,它出现在安装捆绑包列表的末尾。

    在项目的 pom.xml 文件的 < build > 部分中,您可以找到捆绑包的符号链接名称及其捆绑包名称(OSGi)在 maven-bundle-plugin 条目中列出的:

    tutBundleNamesPom

卸载 ZooOrderApp 项目

注意

您不需要断开 JMX 连接或停止服务器来卸载发布的资源。

从运行时服务器中删除 ZooOrderApp 资源:

  1. Servers 视图中,右键单击 n.n Runtime Server 以打开上下文菜单。
  2. 选择 "添加和删除"

    tutUnpubCBRroute
  3. Configured 列中,选择 ZooOrderApp,然后单击 RemoveZooOrderApp 资源移到 Available 列中。
  4. Finish
  5. Servers 视图中,右键单击 JMX[Connected],然后单击 Refresh

    JMX[Connected] 下的 Camel 树会消失。

    注意

    JMX Navigator 中,Server Connections > n.n Runtime Server[Connected] 下的 Camel 树也会消失。

  6. Properties 视图中显示的 Bundles 页面时,向下滚动到列表的末尾,以验证 ZooOrderApp 的捆绑包不再被列出。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.