搜索

12.4. 配置持久数据源

download PDF

通过数据网格,您可以将存储在缓存中的数据保存到数据源。Red Hat Data Grid 有两个类型的数据源:

  • 在 OpenShift 上运行的内部数据源。这些数据源可通过 Red Hat Container Registry 提供,且不需要配置额外的环境文件。

    注意

    内部数据源包括 PostgreSQL、MySQL 和 MongoDB。但是,适用于 OpenShift 的 Red Hat Data Grid 目前仅支持 PostgreSQL 和 MySQL。

  • 未在 OpenShift 上运行的外部数据源。您必须使用添加到 OpenShift Secret 的环境文件来配置这些外部数据源。

12.4.1. 配置内部数据源

DB_SERVICE_PREFIX_MAPPING 环境变量为内部数据源定义 JNDI 映射。

您可以将多个 JNDI 映射定义为 DB_SERVICE_PREFIX_MAPPING 环境变量的逗号分隔值。当您为 OpenShift 镜像运行 Data Grid 时,启动脚本会为每个 JNDI 映射创建一个独立数据源。OpenShift 的 Data Grid 会自动发现每个数据源。

要定义 JNDI 映射,以以下格式指定环境变量的值:

${POOL_NAME}-${DATABASE_TYPE}=${PREFIX}

  • ${POOL_NAME} 是数据源的 pool-name 属性。使用有意义的、易于识别的任何字母数字值。该值不能包含特殊字符。同样,该值必须包含小写字母字符。
  • ${DATABASE_TYPE} 指定要使用的数据库驱动程序。该值必须仅包含小写字符。

    注意

    只有 mysqlpostgresql{$DATABASE_TYPE} 的支持值。

  • ${PREFIX} 用于配置数据源的环境变量的名称。

12.4.1.1. 单一数据源示例

如果您将 test-postgresql=TEST 指定为 DB_SERVICE_PREFIX_MAPPING 环境变量的值,它会创建一个具有以下名称的数据源:

java:jboss/datasources/test_postgresql

在为数据源指定其他环境变量时,您必须使用 TEST 前缀。例如,若要设置用户名和密码,可使用 TEST_USERNAMETEST_PASSWORD 作为环境变量。

12.4.1.2. 多个数据源示例

如果您指定了 cloud-postgresql=CLOUD,test-mysql=TEST_MYSQL 作为 DB_SERVICE_PREFIX_MAPPING 环境变量的值,它会使用以下名称创建两个数据源:

  • java:jboss/datasources/test_mysql
  • java:jboss/datasources/cloud_postgresql

为数据源指定其他环境变量时,您必须使用 TEST_MYSQL 前缀来配置 MySQL 数据源。例如,使用 TEST_MYSQL_USERNAME 作为环境变量来指定用户名。

同样,您必须使用 CLOUD 前缀来配置 PostgreSQL 数据源。例如,使用 CLOUD_USERNAME 作为环境变量来指定用户名。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.