Menu Close
Settings Close

Language and Page Formatting Options

在 JBoss EAP 上安装

Red Hat Fuse 7.11

在 Red Hat JBoss Enterprise Application Platform 7.4.5 上安装 Red Hat Fuse 7.11

摘要

安装和管理流程,以启用在 JBoss EAP 上运行的 Fuse 应用程序的开发。

前言

管理员可以在红帽 JBoss 企业应用平台上安装红帽 Fuse,以便编程人员能够开发在 JBoss EAP 上运行的 Fuse 应用程序。有关 JBoss EAP 的信息,请参阅 JBoss EAP 简介

要在 JBoss EAP 上安装 Fuse,请参阅:

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看我们的 CTO Chris Wright 信息

第 1 章 在 JBoss EAP 上安装 Fuse

要在 JBoss EAP 上开发 Fuse 应用程序,安装 JBoss EAP,然后安装 Fuse。

先决条件

  • 红帽客户门户网站登录凭证。
  • 已安装受支持的 Java 运行时版本。

    Red Hat Fuse 支持的 运行时列出了不同操作系统支持的 Java 运行时。

流程

  1. 安装 JBoss EAP 7.4.5:

    1. 进入红帽客户门户网站上的 Enterprise Application Platform Software Downloads 页面。
    2. 出现提示时,登录到您的客户账户。
    3. 在版本 下拉菜单中,选择 7.4
    4. Red Hat JBoss Enterprise Application Platform 7.4 Installer 软件包的 Download 链接。
    5. 运行下载的安装程序。在以下示例中,将 DOWNLOAD_LOCATION 替换为您系统中的 JBoss EAP 安装程序的位置:

      java -jar DOWNLOAD_LOCATION/jboss-eap-7.4.0-installer.jar
    6. 接受条款和条件。
    7. 选择您首选的安装路径,它由 EAP_HOME 代表,用于 JBoss EAP 运行时。
    8. 创建管理用户,并确保记录此管理用户的凭据。您需要它们登录 Fuse 管理控制台。
    9. 接受其他屏幕上的默认设置。
  2. 有关与红帽 Fuse 补丁兼容性的任何备注或建议,请查看 Red Hat Fuse 支持的配置 页面。如果相关,请安装任何其他 JBoss EAP 补丁。
  3. 在 JBoss EAP 7.4.5 上安装 Fuse 7.11:

    1. 访问红帽客户门户网站中的 Red Hat Fuse Software Downloads 页面。
    2. 出现提示时,登录到您的客户账户。
    3. 在版本 下拉菜单中,选择 7.11.0
    4. 单击 EAP Installer 软件包上的 Red Hat Fuse 7.11.0 的 Download 链接。
    5. 打开 shell 提示符(或 Windows 中的命令提示)。
    6. 更改到 EAP_HOME 目录,这是全新红帽 JBoss 企业应用平台安装的根目录。
    7. 运行下载的安装程序。在以下示例中,将 DOWNLOAD_LOCATION 替换为系统中下载的 Fuse 安装程序的位置:

      java -jar DOWNLOAD_LOCATION/fuse-eap-installer-7.11.0.fuse-7_11_0-00024-redhat-00001.jar
  4. 安装程序在没有提示的情况下运行,并将其活动记录到屏幕上。

后续步骤

  • 启动 JBoss EAP,验证 Fuse 是否正在运行,然后将 Fuse 用户添加到 JBoss EAP。下一章节将介绍如何执行这些任务。
  • 可选,但建议使用 Maven 来本地用于 Fuse 项目。这在 第 7 章 本地设置 Maven 中解释。

其他资源

第 2 章 在 JBoss EAP 服务器上启动 Fuse

JBoss EAP 上的 Fuse 支持单机模式和域模式。本章论述了如何以单机模式或域模式启动服务器。

2.1. 以单机模式启动 JBoss EAP

本节中的命令介绍了如何将 JBoss EAP 作为单机服务器启动。

先决条件

  • 已安装 JBoss EAP 7.4.5。

流程

  • 对于 Red Hat Enterprise Linux,运行以下命令:

    EAP_HOME/bin/standalone.sh

  • 对于 Microsoft Windows Server,运行以下命令:

    EAP_HOME\bin\standalone.bat

2.2. 以域模式启动 JBoss EAP

本节中的命令解释了如何将 Fuse 作为域服务器在 JBoss EAP 上启动。

先决条件

  • 已安装 JBoss EAP 7.4.5。

流程

  • 对于 Red Hat Enterprise Linux,运行以下命令:

    EAP_HOME/bin/domain.sh

  • 对于 Microsoft Windows Server,运行以下命令:

    EAP_HOME\bin\domain.bat

其他资源

第 3 章 在 JBoss EAP 上验证 Fuse 安装

在 JBoss EAP 上安装 Fuse 后,验证安装是否成功。

先决条件

  • JBoss EAP 7.4.5 上的 Fuse 7.11 已安装完毕。
  • JBoss EAP 服务器正在运行。

流程

  1. 打开以下文件来检查是否已记录任何错误信息:

    EAP_HOME/standalone/log/server.log

  2. 在浏览器中,打开 Fuse 管理控制台
  3. 输入您在 JBoss EAP 安装期间创建的管理员凭据进行登录。

结果

如果 Fuse 管理控制台运行并且您可以登录,则 Fuse 安装会成功。

第 4 章 将 Fuse 用户添加到 JBoss EAP

运行 JBoss EAP add-user 脚本,将 Fuse 用户添加到 JBoss EAP。

先决条件

  • JBoss EAP 正在运行。

流程

  1. 导航到 EAP_HOME/bin
  2. 运行 add-user 脚本。例如:

    ./add-user.sh

  3. 响应提示以创建新用户:

    • 管理用户 是 JBoss EAP 上的 Fuse 管理用户。
    • 应用程序用户是 JBoss EAP 上的 Fuse 非管理员用户。

第 5 章 停止 JBoss EAP

以下流程使用 Management 命令行界面(CLI)来停止 JBoss EAP。

先决条件

  • JBoss EAP 7.4.5 正在运行。

流程

  1. 运行以下命令启动管理 CLI:

    $ EAP_HOME/bin/jboss-cli.sh
  2. 运行 connect 命令连接到服务器:

    [disconnected /] connect
  3. 运行 shutdown 命令停止服务器:

    [standalone@localhost:9999 /] shutdown
  4. 运行 quit 命令关闭管理 CLI:

    [standalone@localhost:9999 /] quit

替代方案

以下是停止 JBoss EAP 的另一种方式:

  1. 导航到运行 JBoss EAP 的终端。
  2. Ctrl+C 停止 JBoss 企业应用平台。

第 6 章 在 JBoss EAP 安装中修补 Fuse

本章介绍了如何将 Fuse hotfix 补丁应用到 JBoss EAP 安装的现有 Fuse 中。它包括以下主题:

升级 JBoss EAP

您还可以将 JBoss EAP 的底层版本升级到 Fuse 支持的另一个版本,而无需在 JBoss EAP 上重新安装和重新部署 Fuse。如需了解更多详细信息,请参阅 JBoss EAP 补丁和升级指南

重要

您只能将 JBoss EAP 升级到一个与 Fuse 支持的配置页面中 支持的版本。

6.1. JBoss EAP 上的 Fuse 的热修补修补程序

Fuse hotfix 的补丁包含 JBoss EAP 安装的 Fuse 中特定文件的更新版本。它们通常只包括针对一个或多个关键错误进行修复。热修补代码补丁程序适用于您现有的 Red Hat Fuse 发行版,仅更新现有 Fuse 文件的子集。

在 JBoss EAP 上应用 Fuse 的补丁是两个阶段(补丁文件首先添加到补丁存储库),然后在 JBoss EAP 服务器中安装补丁文件。下图显示了在 JBoss EAP 上 Fuse 修复流程的概述:

Fuse hotfix 修复流程
patch 仓库
补丁存储库是 JBoss EAP 补丁上 Fuse 的一门,与 JBoss EAP 服务器在同一个 JVM 中运行。当存储库中存在补丁时,这并不意味着在 JBoss EAP 服务器中安装了补丁。您必须首先将补丁添加到存储库,然后从存储库安装补丁到 JBoss EAP 服务器。
fusepatch 工具
fusepatch 实用程序是一个命令行工具,可在 JBoss EAP 上修复 Fuse。在 EAP 软件包上安装 Fuse 后,jbosspatch.sh 脚本(Linux 和 UNIX)和 fusepatch.bat (Windows)脚本位于 JBoss EAP 服务器的 bin 目录中。

6.2. 在 JBoss EAP 上安装 Fuse hotfix 补丁

在现有 Fuse 安装之上,必须安装 Fuse hotfix 补丁。本节介绍如何在一个已存在的 Fuse 安装(包含 fuse-eap-distro-VERSION)安装hotfix-eap-distro-VERSION.fuse-MODULE_ID.zip 的现有 Fuse 安装(包括 fuse-eap-distro-VERSION.fuse-MODULE_ID-redhat-BASE_ID )安装 hotfix。

先决条件

  • 第 6.1 节 “JBoss EAP 上的 Fuse 的热修补修补程序”.
  • 下载热修补代码补丁 .zip 文件,根据红帽支持的需求下载。
  • 在有需要执行的任何额外步骤时,请阅读与热修补代码补丁文件相关的 readme.txt 文件中的说明。
  • 在应用补丁前,在 JBoss EAP 安装中完全备份您的 Fuse。

流程

  1. 将热修补代码补丁文件复制到 EAP_HOME 目录中。
  2. 确保已将正确的基础版本添加到您的补丁存储库中,并安装在 JBoss EAP 服务器上。

    例如,给定了一个基础模块 fuse-eap-distro-7.11.0.fuse-sb2-7_0-00028-redhat-00001,以检查在存储库中安装的 MODULE_IDBASE_ID,请输入以下命令:

    bin/fusepatch.sh --query-repository

    应该返回以下响应:

    fuse-eap-distro-7.11.0.fuse-sb2-7_11_0-00028-redhat-00001

    要检查是否在 JBoss EAP 服务器中安装相同的 ID,请输入以下命令:

    bin/fusepatch.sh --query-server

    应该返回以下响应:

    fuse-eap-distro-7.11.0.fuse-sb2-7_11_0-00028-redhat-00001
  3. 获得一次性热修补补丁文件 fuse-eap-distro-7.7.0.fuse-770013.hf1.zip,将其添加到存储库,并通过输入以下命令将其与基本安装关联:

    bin/fusepatch.sh --add file:fuse-eap-distro-7.7.0.fuse-770013.hf1.zip --one-off fuse-eap-distro-7.11.0.fuse-sb2-7_11_0-00028-redhat-00001
  4. 假定 base 模块是 fuse-eap-distro-7.11.0.fuse-sb2-7_0-00028-redhat-00001,将 JBoss EAP 服务器更新至最新版本:

    bin/fusepatch.sh --update fuse-eap-distro-7.7.0.fuse-770013.hf1
  5. 执行任何安装后步骤,记录在补丁说明中。

其他资源

  • 有关 fusepatch 命令的更多详细信息,请输入:

    bin/fusepatch.sh --help

第 7 章 本地设置 Maven

典型的 Fuse 应用程序开发使用 Maven 来构建和管理项目。

以下主题描述了如何在本地设置 Maven:

7.1. 准备设置 Maven

Maven 是一个来自 Apache 的免费开源构建工具。通常,您使用 Maven 来构建 Fuse 应用程序。

流程

  1. 从 Maven 下载 页面下载 Maven 的最新版本。
  2. 确定您的系统已连接到互联网。

    构建项目时,默认行为是 Maven 搜索外部存储库并下载所需的工件。Maven 会查找可通过互联网访问的存储库。

    您可以更改此行为,以便 Maven 只搜索本地网络上的存储库。也就是说,Maven 可以在离线模式下运行。在离线模式下,Maven 会在其本地存储库中查找工件。请参阅 第 7.3 节 “使用本地 Maven 软件仓库”

7.2. 将红帽软件仓库添加到 Maven

要访问 Red Hat Maven 存储库中的工件,您需要将这些存储库添加到 Maven 的 settings.xml 文件中。Maven 在用户主目录的 .m2 目录中查找 settings.xml 文件。如果没有用户指定的 settings.xml 文件,则 Maven 将使用 M2_HOME/conf/ settings.xml 中的系统级 settings.xml 文件。

前提条件

您知道要在其中添加 Red Hat 软件仓库的 settings.xml 文件的位置。

流程

settings.xml 文件中,为红帽软件仓库添加存储库元素,如下例所示:

<?xml version="1.0"?>
<settings>

  <profiles>
    <profile>
      <id>extra-repos</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <repositories>
       <repository>
            <id>redhat-ga-repository</id>
            <url>https://maven.repository.redhat.com/ga</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>redhat-ea-repository</id>
            <url>https://maven.repository.redhat.com/earlyaccess/all</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
          <id>jboss-public</id>
          <name>JBoss Public Repository Group</name>
          <url>https://repository.jboss.org/nexus/content/groups/public/</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
            <id>redhat-ga-repository</id>
            <url>https://maven.repository.redhat.com/ga</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
        <pluginRepository>
            <id>redhat-ea-repository</id>
            <url>https://maven.repository.redhat.com/earlyaccess/all</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
        <pluginRepository>
          <id>jboss-public</id>
          <name>JBoss Public Repository Group</name>
          <url>https://repository.jboss.org/nexus/content/groups/public</url>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>

  <activeProfiles>
    <activeProfile>extra-repos</activeProfile>
  </activeProfiles>

</settings>

7.3. 使用本地 Maven 软件仓库

如果您在没有互联网连接的情况下运行容器,且您需要部署一个具有离线依赖项的应用程序,您可以使用 Maven 依赖项插件将应用程序的依赖项下载到 Maven 离线存储库中。然后,您可以将此自定义的 Maven 离线存储库分发到没有互联网连接的机器。

流程

  1. 在包含 pom.xml 文件的项目目录中,通过运行以下命令为 Maven 项目下载存储库,如下所示:

    mvn org.apache.maven.plugins:maven-dependency-plugin:3.1.0:go-offline -Dmaven.repo.local=/tmp/my-project

    在本例中,构建项目所需的 Maven 依赖项和插件下载到 /tmp/my-project 目录中。

  2. 将此自定义的 Maven 脱机存储库分发给任何没有互联网连接的机器。

7.4. 使用环境变量或系统属性设置 Maven 镜像

在运行应用程序时,您需要访问 Red Hat Maven 软件仓库中的工件。这些软件仓库添加到 Maven 的 settings.xml 文件中。Maven 检查以下 settings.xml 文件的位置:

  • 查找指定的 url
  • 如果没有找到查找 ${user.home}/.m2/settings.xml
  • 如果没有找到查找 ${maven.home}/conf/settings.xml
  • 如果没有找到查找 ${M2_HOME}/conf/settings.xml
  • 如果没有找到位置,则创建空的 org.apache.maven.settings.Settings 实例。

7.4.1. 关于 Maven 镜像

Maven 使用一组远程存储库访问工件,它们目前在本地存储库中不可用。存储库列表几乎总是包含 Maven Central 软件仓库,但对于 Red Hat Fuse,它还包含 Maven 红帽软件仓库。在某些情况下,如果无法访问不同的远程存储库,也可以使用 Maven 镜像机制。镜像替代了特定的存储库 URL,因此当搜索远程工件到单个 URL 时,所有 HTTP 流量都会定向到单个 URL。

7.4.2. 在 settings.xml中添加 Maven mirror

要设置 Maven 镜像,请将以下内容添加到 Maven 的 settings.xml 中:

<mirror>
      <id>all</id>
      <mirrorOf>*</mirrorOf>
      <url>http://host:port/path</url>
</mirror>

如果在 settings.xml 文件中找不到上述部分,则不使用该镜像镜像。要在不提供 XML 配置的情况下指定全局镜像,您可以使用系统属性或环境变量。

7.4.3. 使用环境变量或系统属性设置 Maven 镜像

要使用环境变量或系统属性设置 Maven 镜像,您可以添加:

  • bin/setenv 文件调用 MAVEN_MIRROR_URL 的环境变量
  • 名为 mavenMirrorUrl 的系统属性到 etc/system.properties 文件

7.4.4. 使用 Maven 选项指定 Maven 镜像 url

要使用备用的 Maven 镜像 url,除了由环境变量或系统属性指定的其他属性外,在运行应用程序时使用以下 maven 选项:

  • -DmavenMirrorUrl=mirrorId::mirrorUrl

    例如,-DmavenMirrorUrl=my-mirror::http://mirror.net/repository

  • -DmavenMirrorUrl=mirrorUrl

    例如,-DmavenMirrorUrl=http://mirror.net/repository。在本例中,<mirror> 的 <id> 只是一个镜像。

7.5. 关于 Maven 工件和协调

在 Maven 构建系统中,基本构建块是一个 工件。构建后,工件的输出通常是一个存档,如 JAR 或 WAR 文件。

Maven 的一个关键方面是能够定位工件并管理它们之间的依赖关系。Maven 协调 是标识特定工件位置的一组值。基本协调过程使用以下形式的三个值:

groupId:artifactId:version

有时,Maven 与一个 打包值或者一个打包 值和 分类器 值增加了基本的协调。Maven 协调可以具有以下格式之一:

groupId:artifactId:version
groupId:artifactId:packaging:version
groupId:artifactId:packaging:classifier:version

以下是值的描述:

groupdId
定义工件名称的范围。您通常使用软件包名称的所有或部分作为组群 ID。例如,org.fusesource.example
artifactId
定义相对于组 ID 的工件名称。
version
指定工件的版本。版本号最多可以有 4 个部分: n.n.n.n,其中版本号的最后一部分可以包含非数字字符。例如,1.0- SNAPSHOT 的最后一部分是字母数字子字符串 0-SNAPSHOT
打包
定义构建项目时生成的打包实体。对于 OSGi 项目,打包是 捆绑包。默认值为 jar
分类器
可让您区分从同一 POM 构建但具有不同内容的工件。

工件的 POM 文件中的元素定义工件的组 ID、构件 ID、打包和版本,如下所示:

<project ... >
  ...
  <groupId>org.fusesource.example</groupId>
  <artifactId>bundle-demo</artifactId>
  <packaging>bundle</packaging>
  <version>1.0-SNAPSHOT</version>
  ...
</project>

要定义上述构件的依赖项,您要将以下 依赖项元素添加到 POM 文件中:

<project ... >
  ...
  <dependencies>
    <dependency>
      <groupId>org.fusesource.example</groupId>
      <artifactId>bundle-demo</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
  </dependencies>
  ...
</project>
注意

不需要在前面的依赖项中指定 捆绑 软件包类型,因为捆绑包只是特定类型的 JAR 文件,jar 是默认的 Maven 软件包类型。但是,如果您需要在依赖项中明确指定打包类型,您可以使用 type 元素。