12.4. 永続データソースの設定
Data Grid を使用すると、キャッシュに保存されているデータをデータソースに永続化できます。Red Hat Data Grid for OpenShift には、以下の 2 種類のデータソースがあります。
OpenShift で実行される内部データソース。これらのデータソースは Red Hat Container Registry から入手でき、追加の環境ファイルを設定する必要はありません。
注記内部データソースには、PostgreSQL、MySQL、および MongoDB が含まれます。ただし、現在、Red Hat Data Grid for OpenShift は PostgreSQL と MySQL のみをサポートしています。
- OpenShift で実行されない外部データソース。これらの外部データソースは、OpenShift のシークレットに追加する環境ファイルで設定する必要があります。
12.4.1. 内部データソースの設定
DB_SERVICE_PREFIX_MAPPING
環境変数は、内部データソースの JNDI マッピングを定義します。
複数の JNDI マッピングを、DB_SERVICE_PREFIX_MAPPING
環境変数のコンマ区切りの値として定義できます。Data Grid for OpenShift イメージのを実行すると、起動スクリプトは JNDI マッピングごとに個別のデータソースを作成します。次に、Data Grid for OpenShift は各データソースを自動的に検出します。
JNDI マッピングを定義するには、以下の形式で環境変数の値を指定します。
${POOL_NAME}-${DATABASE_TYPE}=${PREFIX}
-
${POOL_NAME}
はデータソースのpool-name
属性です。簡単に識別でき、分かりやすい英数字値を使用します。この値には特殊文字を使用できません。同様に、値には小文字以外は使用できません。 ${DATABASE_TYPE}
は使用するデータベースドライバーを指定します。同様に、値には小文字以外は使用できません。注記{$DATABASE_TYPE}
でサポートされる値はmysql
およびpostgresql
のみです。-
${PREFIX}
は、データソースを設定する環境変数の名前に使用します。
12.4.1.1. 単一データソースの例
test-postgresql=TEST
を DB_SERVICE_PREFIX_MAPPING
環境変数の値として指定すると、次の名前でデータソースが作成されます。
java:jboss/datasources/test_postgresql
データソースの他の環境変数を指定する場合は、TEST
プレフィックスを使用する必要があります。たとえば、ユーザー名とパスワードを設定するには、TEST_USERNAME
と TEST_PASSWORD
を環境変数として使用します。
12.4.1.2. 複数のデータソースの例
cloud-postgresql=CLOUD,test-mysql=TEST_MYSQL
を DB_SERVICE_PREFIX_MAPPING
環境変数の値として指定すると、以下の名前で 2 つのデータソースが作成されます。
-
java:jboss/datasources/test_mysql
-
java:jboss/datasources/cloud_postgresql
データソースの他の環境変数を指定する場合には、TEST_MYSQL
プレフィックスを使用して MySQL データソースを設定する必要があります。たとえば、TEST_MYSQL_USERNAME
を環境変数として使用し、ユーザー名を指定します。
同様に、CLOUD
プレフィックスを使用して PostgreSQL データソースを設定する必要があります。たとえば、CLOUD_USERNAME
を環境変数として使用し、ユーザー名を指定します。