第1章 アプリケーション開発の開始


1.1. はじめに

1.1.1. Red Hat JBoss Enterprise Application Platform 7

Red Hat JBoss Enterprise Application Platform 7 (JBoss EAP) は、オープンな標準に基いて構築され、Java Enterprise Edition 7 の仕様に準拠するミドルウェアプラットフォームです。

JBoss EAP には、必要な場合にだけサービスを有効にできるモジュール構造が含まれ、サービスの起動時間が短縮されます。

管理コンソールと管理コマンドラインインターフェース (CLI) により、XML 設定ファイルの編集が不要になり、タスクをスクリプト化および自動化する機能が追加されました。

JBoss EAP は、JBoss EAP インスタンスに対してスタンドアロンサーバーと管理対象ドメインの 2 つの操作モードを提供します。スタンドアロンサーバー操作モードでは、実行している JBoss EAP を 1 つのサーバーインスタンスとして表します。管理対象ドメイン操作モードでは、1 つの制御ポイントから複数の JBoss EAP インスタンスを管理できます。

また、JBoss EAP には、セキュアでスケーラブルな Java EE アプリケーションの迅速な開発を可能にする API と開発フレームワークが含まれます。

1.2. Java Enterprise Edition 7 について

1.2.1. Java EE 7 プロファイルの概要

Java Enterprise Edition (Java EE) 7 には、アプリケーションの特定クラスに適した設定を表す API のサブセットであるプロファイルのサポートが含まれています。Java EE 7 仕様が定義する唯一のプロファイルが Web プロファイルです。製品には、フルプラットフォーム、Web プロファイル、または 1 つ以上のカスタムプロファイルを自由に組み合わせた実装を選択することができます。

JBoss EAP 7.1 は、Java Enterprise Edition 7 のフルプラットフォームおよび Web プロファイル仕様の認定実装です。

Java Enterprise Edition 7 の Web プロファイル

Web プロファイルは、Java Enterprise Edition 7 仕様で定義される唯一のプロファイルです。これには、Web アプリケーションの開発に便利な指定の API のサブセットが含まれます。Web プロファイルは以下の API をサポートします。

  • Java EE 7 Web プロファイルの要件:

    • Java Platform、Enterprise Edition 7
  • Java Web テクノロジー:

    • Servlet 3.1 (JSR 340)
    • JSP 2.3
    • Expression Language (EL) 3.0
    • JavaServer Faces (JSF) 2.2 (JSR 344)
    • JSP 1.2 向け Java Standard Tag Library (JSTL)

      注記

      JBoss EAP には既知のセキュリティーリスクが存在します。Java Standard Tag Library (JSTL) が信頼できない XML ドキュメントにおける外部エンティティー参照の処理を許可するため、ホストシステム上のリソースへアクセスし、任意コードが実行される可能性があります。

      このリスクを回避するには、通常空の文字列を値として適切に設定されたシステムプロパティー org.apache.taglibs.standard.xml.accessExternalEntity を使用して JBoss EAP サーバーを実行する必要があります。これを行う方法は 2 つあります。

      • システムプロパティーを設定してサーバーを再起動する。

        org.apache.taglibs.standard.xml.accessExternalEntity
        Copy to Clipboard Toggle word wrap
      • -Dorg.apache.taglibs.standard.xml.accessExternalEntity="" を引数として standalone.sh または domain.sh スクリプトに渡す。
    • 他言語のデバッグサポート 1.0 (JSR 45)
  • エンタープライズアプリケーションテクノロジー:

    • Contexts and Dependency Injection (CDI) 1.1 (JSR 346)
    • Dependency Injection for Java 1.0 (JSR 330)
    • Enterprise JavaBeans 3.2 Lite (JSR 345)
    • Java Persistence API 2.1 (JSR 338)
    • Java Platform 1.1 向けの共通アノテーション (JSR 250)
    • Java Transaction API (JTA) 1.2 (JSR 907)
    • Bean Validation 1.1 (JSR 349)

Java EE 7 仕様によって定義される フルプラットフォーム 実装には追加の API が含まれます。

Java Enterprise Edition 7 のフルプラットフォーム

Java EE 7 仕様のフルプラットフォームには、Java EE 7 仕様に含まれるすべての API および仕様が含まれます。Java Enterprise Edition 7 の Web プロファイル でサポートされる API の他に、以下の API もサポートします。

Java EE 7 のフルプラットフォームには以下が含まれます。

  • Batch 1.0
  • JSON-P 1.0
  • Concurrency 1.0
  • WebSocket 1.1
  • JMS 2.0
  • JPA 2.1
  • JCA 1.7
  • JAX-RS 2.0
  • JAX-WS 2.2
  • Servlet 3.1
  • JSF 2.2
  • JSP 2.3
  • EL 3.0
  • CDI 1.1
  • CDI エクステンション
  • JTA 1.2
  • Interceptors 1.2
  • Common Annotations 1.1
  • Managed Beans 1.0
  • EJB 3.2
  • Bean Validation 1.1

1.3. 開発環境の設定

JBoss EAP 7.1 では、JBoss Developer Studio 11.0 以上の使用が推奨されます。

  1. JBoss Developer Studio をダウンロードし、インストールします。

    手順については、JBoss Developer Studio『Installation Guide』の「Installing JBoss Developer Studio Stand-alone Using the Installer」を参照してください。

  2. JBoss Developer Studio で JBoss EAP サーバーを設定します。

    手順については、『Getting Started with JBoss Developer Studio Tools』の「Using Runtime Detection to Set Up JBoss EAP from within the IDE」を参照してください。

1.4. JBoss Developer Studio でのアノテーション処理の設定

Eclipse では、アノテーション処理 (AP) はデフォルトでオフになっています。そのため、プロジェクトによって実装クラスが生成されると、java.lang.ExceptionInInitializerError 例外が発生した後に、プロジェクトのデプロイ時に CLASS_NAME (implementation not found) エラーメッセージが表示される可能性があります。

この問題は次の方法の 1 つで解決できます。個別のプロジェクトのアノテーション処理を有効にするか、すべての JBoss Developer Studio プロジェクトのアノテーション処理をグローバルに有効 にして解決します。

個別のプロジェクトのアノテーション処理を有効化

特定のプロジェクトのアノテーション処理を有効にするには、値が jdt_aptm2e.apt.activation プロパティーをプロジェクトの pom.xml ファイルに追加します。

<properties>
    <m2e.apt.activation>jdt_apt</m2e.apt.activation>
</properties>
Copy to Clipboard Toggle word wrap

この方法の例は、JBoss EAP に同梱される logging-tools および kitchensink-ml クイックスタートの pom.xml ファイルにあります。

JBoss Developer Studio でアノテーション処理をグローバルに有効化

  1. Window Preferences と選択します。
  2. Maven を展開し、Annotation Processing を選択します。
  3. Select Annotation Processing ModeAutomatically configure JDT APT (builds faster , but outcome may differ from Maven builds) を選択し、Apply and Close をクリックします。

1.5. デフォルトの Welcome Web アプリケーションの設定

JBoss EAP には、デフォルトではポート 8080 のルートコンテキストで表示されるデフォルトの Welcome アプリケーションが含まれます。

このデフォルトの Welcome アプリケーションは、独自の Web アプリケーションで置き換えることができます。これは、以下の 2 つのいずれかの方法で設定できます。

Welcome コンテンツを無効にすることもできます。

welcome-content ファイルハンドラーの変更

  1. 新しいデプロイメントを参照する、既存の welcome-content ファイルハンドラーのパスを変更します。

    /subsystem=undertow/configuration=handler/file=welcome-content:write-attribute(name=path,value="/path/to/content")
    Copy to Clipboard Toggle word wrap
    注記

    または、サーバーのルートにより使用される異なるファイルハンドラーを作成することもできます。

    /subsystem=undertow/configuration=handler/file=NEW_FILE_HANDLER:add(path="/path/to/content")
    /subsystem=undertow/server=default-server/host=default-host/location=\/:write-attribute(name=handler,value=NEW_FILE_HANDLER)
    Copy to Clipboard Toggle word wrap
  2. 変更を反映するためにサーバーをリロードします。

    reload
    Copy to Clipboard Toggle word wrap

default-web-module の変更

  1. デプロイされた Web アプリケーションをサーバーのルートにマップします。

    /subsystem=undertow/server=default-server/host=default-host:write-attribute(name=default-web-module,value=hello.war)
    Copy to Clipboard Toggle word wrap
  2. 変更を反映するためにサーバーをリロードします。

    reload
    Copy to Clipboard Toggle word wrap

デフォルトの Welcome Web アプリケーションの無効化

  1. default-hostlocation エントリー (/) を削除して welcome アプリケーションを無効にします。

    /subsystem=undertow/server=default-server/host=default-host/location=\/:remove
    Copy to Clipboard Toggle word wrap
  2. 変更を反映するためにサーバーをリロードします。

    reload
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat