JBoss EAP でのインストール

Red Hat Fuse 7.10

Red Hat JBoss Enterprise Application Platform 7.4 に Red Hat Fuse 7.10 をインストールします。

Red Hat Fuse Documentation Team

概要

JBoss EAP で実行される Fuse アプリケーションの開発を有効にするインストール手順および管理手順。

はじめに

Boss EAP で実行される Fuse アプリケーションをプログラマーが JBoss EAP で開発できるようにするため、管理者は Red Hat Fuse を Red Hat JBoss Enterprise Application Platform にインストールすることができます。JBoss EAP の詳細は、Introduction to JBoss EAP を参照してください。

Fuse on JBoss EAP をインストールするには、以下を参照してください。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、CTO である Chris Wright のメッセージ をご覧ください。

第1章 Fuse on JBoss EAP のインストール

JBoss EAP で Fuse アプリケーションを開発するには、JBoss EAP をインストールしてから Fuse をインストールします。

前提条件

  • Red Hat カスタマーポータルのログインクレデンシャル
  • サポートされるバージョンの Java ランタイムがインストールされている。

    Red Hat Fuse でサポートされる設定 に、異なるオペレーティングシステムでサポートされる Java ランタイムが記載されています。

手順

  1. JBoss EAP 7.4 をインストールします。

    1. Red Hat カスタマーポータルの Enterprise Application Platform の Software Downloads ページ に移動します。
    2. プロンプトが表示されたら、お客様のアカウントにログインします。
    3. Version ドロップダウンメニューで 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. JBoss EAP ランタイムのインストールパスを選択します。これは EAP_HOME と示されます。
    8. 管理ユーザーを作成し、この管理ユーザーのクレデンシャルを書き留めておきます。これは Fuse Management Console のログインに必要です。
    9. 残りの画面では、デフォルト設定を許可します。
  2. Red Hat Fuse での JBoss EAP パッチの互換性に関する注記やアドバイスは、Red Hat Fuse でサポートされる設定 を確認してください。該当する場合は、追加の JBoss EAP パッチをインストールします。
  3. JBoss EAP 7.4 に Fuse 7.10 をインストールします。

    1. Red Hat カスタマーポータルの Red Hat Fuse の Software Downloads ページに移動します。
    2. プロンプトが表示されたら、お客様のアカウントにログインします。
    3. Version ドロップダウンメニューで 7.10.0 を選択します。
    4. Red Hat Fuse 7.10.0 on EAP Installer パッケージの Download リンクをクリックします。
    5. シェルプロンプト (Windows の場合はコマンドプロンプト) を開きます。
    6. Red Hat JBoss Enterprise Application Platform インストールのルートディレクトリーである EAP_HOME ディレクトリーに移動します。
    7. ダウンロードしたインストーラーを実行します。以下の例では、DOWNLOAD_LOCATION を、システムにダウンロードした Fuse インストーラーの場所に置き換えます。

      java -jar DOWNLOAD_LOCATION/fuse-eap-installer-7.10.0.fuse-7_10_0-00011-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 の開始

このセクション Fuse のコマンドは、JBoss EAP をスタンドアロンサーバーとして起動する方法を説明します。

前提条件

  • JBoss EAP 7.4 がインストールされている。

手順

  • Red Hat Enterprise Linux の場合は、以下のコマンドを実行します。

    EAP_HOME/bin/standalone.sh

  • Microsoft Windows Server の場合は、以下のコマンドを実行します。

    EAP_HOME\bin\standalone.bat

2.2. ドメインモードでの JBoss EAP の起動

このセクションのコマンドは、JBoss EAP でドメインサーバーとして Fuse を起動する方法を説明します。

前提条件

  • JBoss EAP 7.4 がインストールされている。

手順

  • Red Hat Enterprise Linux の場合は、以下のコマンドを実行します。

    EAP_HOME/bin/domain.sh

  • Microsoft Windows Server の場合は、以下のコマンドを実行します。

    EAP_HOME\bin\domain.bat

関連情報

  • 起動スクリプトに渡すことのできるパラメーターの一覧が必要な場合は、-h パラメーターを入力します。
  • 代替および詳細な方法を使用して JBoss Enterprise Application Platform を起動および停止する場合の詳細は Red Hat JBoss Enterprise Application Platform 設定ガイド を参照してください。

第3章 Fuse on JBoss EAP のインストールの確認

Fuse on JBoss EAP のインストール後に、インストールが正常に完了したことを確認します。

前提条件

  • Fuse 7.10 on JBoss EAP 7.4 がインストールされている。
  • JBoss EAP サーバーが稼働している。

手順

  1. 以下のファイルを開き、エラーメッセージがログに記録されているかどうかを確認します。

    EAP_HOME/standalone/log/server.log

  2. ブラウザーで Fuse Management Console を開きます。
  3. JBoss EAP のインストール時に作成した管理者のクレデンシャルを入力してログインします。

結果

Fuse Management Console が実行され、ログインできる場合は、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. プロンプトに応答して新規ユーザーを作成します。

    • Management User は JBoss EAP での Fuse 管理ユーザーです。
    • Application User は、JBoss EAP での Fuse の非管理ユーザーです。

第5章 JBoss EAP の停止

以下の手順では、管理コマンドラインインターフェイス (CLI) を使用して JBoss EAP を停止します。

前提条件

  • JBoss EAP 7.4 が稼働している。

手順

  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 Enterprise Application Platform を停止します。

第6章 Fuse on JBoss EAP インストールへのパッチの適用

本章では、Fuse のホットフィックスパッチを既存の Fuse on JBoss EAP インストールに適用する方法について説明します。これには、以下のトピックが含まれます。

JBoss EAP のアップグレード

基礎となるバージョンの JBoss EAP を Fuse によってサポートされる別のバージョンにアップグレードすることもできます。これには Fuse を JBoss EAP に再インストールおよび再デプロイする必要はありません。詳細は、JBoss EAP のパッチおよびアップグレードガイド を参照してください。

重要

JBoss EAP は、Fuse でサポートされる設定 ページにサポート対象として掲載されているバージョンにのみアップグレードできます。

6.1. Fuse on JBoss EAP のホットフィックスパッチ

Fuse のホットフィックスパッチには、Fuse on JBoss EAP インストールの特定ファイルの更新バージョンが含まれています。通常、1 つ以上の重大なバグに対する修正のみが含まれます。ホットフィックスパッチは、既存の Red Hat Fuse ディストリビューションに適用され、既存の Fuse ファイルのサブセットのみを更新します。

Fuse on JBoss EAP へのパッチ適用は 2 段階のプロセスで、パッチファイルが最初にパッチリポジトリーに追加され、その後 JBoss EAP サーバーにインストールされます。以下の図は、JBoss EAP での Fuse パッチプロセスの概要を示しています。

Fuse ホットフィックスのパッチ適用プロセス
パッチリポジトリー
パッチリポジトリーは、JBoss EAP サーバーと同じ JVM で実行される Fuse on JBoss EAP パッチの保持領域です。パッチがリポジトリーに存在していても、JBoss EAP サーバーにパッチがインストールされているとは限りません。最初にリポジトリーにパッチを追加してから、パッチをリポジトリーから JBoss EAP サーバーにインストールする必要があります。
fusepatch ユーティリティー
fusepatch ユーティリティーは、Fuse on JBoss EAP にパッチを適用するためのコマンドラインツールです。Fuse on EAP パッケージのインストール後、fusepatch.sh スクリプト (Linux および UNIX) および fusepatch.bat (Windows) スクリプトは JBoss EAP サーバーの bin ディレクトリーで利用できます。

6.2. JBoss EAP での Fuse ホットフィックスパッチのインストール

既存の Fuse インストールに Fuse ホットフィックスパッチをインストールする必要があります。このセクションでは、fuse-eap-distro-VERSION.fuse-MODULE_ID-redhat-BASE_ID がすでに含まれている既存の Fuse インストールに加えて、ホットフィックスパッチ fuse-eap-distro-VERSION.fuse-MODULE_ID.HOTFIX_ID.zip をインストールする方法を説明します。

前提条件

  • 「Fuse on JBoss EAP のホットフィックスパッチ」
  • 利用可能なホットフィックスパッチの .zip ファイルを Red Hat サポートから必要時にダウンロードする。
  • インストールに必要な追加のステップがある場合に備えて、ホットフィックスパッチファイルに付随する readme.txt ファイルの手順を確認する。
  • パッチを適用する前に、Fuse on JBoss EAP インストールの完全バックアップを作成する。

手順

  1. ホットフィックスパッチファイルを EAP_HOME ディレクトリーにコピーします。
  2. パッチリポジトリーに正しいベースバージョンがすでに追加され、JBoss EAP サーバーにインストールされていることを確認します。

    たとえば、ベースモジュールが fuse-eap-distro-7.10.0.fuse-sb2-7_10_0-00014-redhat-00001 でリポジトリーに MODULE_ID および BASE_ID がインストールされていることを確認するには、以下のコマンドを入力します。

    bin/fusepatch.sh --query-repository

    次の応答が返されます。

    fuse-eap-distro-7.10.0.fuse-sb2-7_10_0-00014-redhat-00001

    また、同じ ID が JBoss EAP サーバーにインストールされていることを確認するには、次のコマンドを入力します。

    bin/fusepatch.sh --query-server

    次の応答が返されます。

    fuse-eap-distro-7.10.0.fuse-sb2-7_10_0-00014-redhat-00001
  3. 以下のコマンドを入力して、1 度限りのホットフィックスパッチファイル 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.10.0.fuse-sb2-7_10_0-00014-redhat-00001
  4. ベースモジュールが fuse-eap-distro-7.10.0.fuse-sb2-7_10_0-00014-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 によってローカルリポジトリーのアーティファクトが検索されます。「ローカル Maven リポジトリーの追加」を参照してください。

7.2. Red Hat リポジトリーを Maven へ追加

Red Hat 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 ファイルに Red Hat リポジトリーの repository 要素を追加します。

<?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 Red Hat リポジトリーも含まれます。リモートリポジトリーへのアクセスが不可能な場合や許可されない場合に、Maven ミラーのメカニズムを使用できます。ミラーは、特定のリポジトリー URL を異なるリポジトリー URL に置き換えるため、リモートアーティファクトの検索時にすべての HTTP トラフィックを単一の URL に転送することができます。

7.4.2. Maven ミラーの settings.xml への追加

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 ミラーを設定するには、以下を追加します。

  • 環境変数 MAVEN_MIRROR_URLbin/setenv ファイルに追加します。
  • システムプロパティー mavenMirrorUrletc/system.properties ファイルに追加します。

7.4.4. Maven オプションを使用した Maven ミラー URL の指定

環境変数またはシステムプロパティーによって指定された 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 コーディネート は、特定のアーティファクトの場所を特定する値のセットです。基本的なコーディネートには、以下の形式の 3 つの値があります。

groupId:artifactId:version

基本的なコーディネートに packaging の値、または packagingclassifier の値の両方を追加することがあります。Maven コーディネートには以下の形式のいずれかを使用できます。

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

値の説明は次のとおりです。

groupdId
アーティファクトの名前の範囲を定義します。通常、パッケージ名のすべてまたは一部をグループ ID として使用します。例: org.fusesource.example
artifactId
グループ名に関連するアーティファクト名を定義します。
version
アーティファクトのバージョンを指定します。バージョン番号には n.n.n.n のように最大 4 つの部分を含めることができ、最後の部分には数字以外の文字を含めることができます。たとえば 1.0-SNAPSHOT の場合、最後の部分は英数字のサブ文字列である 0-SNAPSHOT になります。
packaging
プロジェクトのビルド時に生成されるパッケージ化されたエンティティーを定義します。OSGi プロジェクトでは、パッケージングは bundle になります。デフォルト値は jar です。
classifier
同じ POM からビルドされた内容が異なるアーティファクトを区別できるようにします。

アーティファクトの POM ファイルの要素は、以下のようにアーティファクトのグループ ID、アーティファクト ID、パッケージング、およびバージョンを定義します。

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

前述のアーティファクトの依存関係を定義するには、以下の dependency 要素を POM ファイルに追加します。

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

バンドルは特定タイプの JAR ファイルで、jar はデフォルトの Maven パッケージタイプであるため、前述の依存関係に bundle パッケージを指定する必要はありません。依存関係でパッケージタイプを明示的に指定する必要がある場合は、type 要素を使用できます。

法律上の通知

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.