12.4.2. 外部データソースの設定


外部データソースを使用するには、カスタムイメージテンプレートを定義し、次に Source-to-Image(S2I)ビルドツールを使用してイメージを作成します。S2I は、アプリケーションのソースコードをインプットとして取り、組み立てられたアプリケーションをアウトプットとして実行する新規イメージを作成するフレームワークです。

以下にプロセスの概要を説明します。

  1. イメージテンプレート JSON で CUSTOM_INSTALL_DIRECTORIES 環境変数を指定します。この変数は、以下の例のように S2I アーティファクトの場所を定義します。

    {
        "name": "CUSTOM_INSTALL_DIRECTORIES",
        "value": "extensions/*"
    }
  2. そのディレクトリーに install.sh スクリプトを作成します。このスクリプトは、イメージに外部データソースのモジュールおよびドライバーをインストールします。

    以下は、install.sh スクリプトの例になります。

    #!/bin/bash
    
    # Import the common functions for
    # installing modules and configuring drivers
    source /usr/local/s2i/install-common.sh
    
    # Directory where this script is located
    injected_dir=$1
    
    # Install the modules for the datasource
    install_modules ${injected_dir}/modules
    
    # Configure the drivers for the datasource
    configure_drivers ${injected_dir}/drivers.properties
  3. データソースの module.xml ファイルとドライバーが含まれる modules サブディレクトリーを含めます。作成されたイメージはモジュールを使用してクラスを読み込み、依存関係を定義します。

    たとえば、外部データソースとして Derby を使用する計画を立てます。derby-10.12.1.1.jar などのドライバーを取得して、そのドライバーを modules/org/apache/derby/main/ ディレクトリーに配置する必要があります。

    同じディレクトリーで、リソースとしてドライバーを定義し、依存関係を宣言する module.xml ファイルも作成する必要があります。

    以下は module.xml ファイルの例になります。

    <?xml version="1.0" encoding="UTF-8"?>
    <module xmlns="urn:jboss:module:1.3" name="org.apache.derby">
     <resources>
       <resource-root path="derby-10.12.1.1.jar"/>
       <resource-root path="derbyclient-10.12.1.1.jar"/>
     </resources>
    
     <dependencies>
       <module name="javax.api"/>
       <module name="javax.transaction.api"/>
     </dependencies>
    </module>
  4. drivers.property 環境変数ファイルで、ドライバー設定プロパティーを定義します。

    以下は、drivers.property ファイルの例です。

    #DRIVERS
    DRIVERS=DERBY
    
    DERBY_DRIVER_NAME=derby
    DERBY_DRIVER_MODULE=org.apache.derby
    DERBY_DRIVER_CLASS=org.apache.derby.jdbc.EmbeddedDriver
    DERBY_XA_DATASOURCE_CLASS=org.apache.derby.jdbc.EmbeddedXADataSource
  5. イメージのビルドおよびデプロイ後に、データソースの環境変数を指定します。

    次は、DATASOURCES 環境変数でのデータソースの定義例を示しています。

    # Set a unique prefix for the datasource
    DATASOURCES=ACCOUNTS_DERBY
    # Specify other environment variables using the prefix
    ACCOUNTS_DERBY_DATABASE=accounts
    ACCOUNTS_DERBY_JNDI=java:/accounts-ds
    ACCOUNTS_DERBY_DRIVER=derby
    ACCOUNTS_DERBY_JTA=true
    ACCOUNTS_DERBY_NONXA=false
    ACCOUNTS_DERBY_USERNAME=${USERNAME}
    ACCOUNTS_DERBY_PASSWORD=${PASSWORD}
    ACCOUNTS_DERBY_XA_CONNECTION_PROPERTY_DatabaseName=/opt/eap/standalone/data/databases/derby/accounts
    # _HOST and _PORT are required but not used
    ACCOUNTS_ORACLE_HOST=dummy
    ACCOUNTS_ORACLE_PORT=1527
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.