3.3.2. Runtime Artifacts
3.3.2.1. datasources
数据源有两种类型:
- 内部数据源.这些数据源在 OpenShift 上运行,但通过 Red Hat Registry 默认不可用。这些数据源的配置由添加到 OpenShift Secret 的环境文件提供。
- 外部数据源.这些数据源不在 OpenShift 上运行。外部数据源的配置由添加到 OpenShift Secret 的环境文件提供。
示例:数据源环境文件
DB_SERVICE_PREFIX_MAPPING=PostgresXA-POSTGRES=DS1 DS1_JNDI=java:jboss/datasources/pgds DS1_DRIVER=postgresql-42.2.5.jar DS1_USERNAME=postgres DS1_PASSWORD=postgres DS1_MAX_POOL_SIZE=20 DS1_MIN_POOL_SIZE=20 DS1_CONNECTION_CHECKER=org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker DS1_EXCEPTION_SORTER=org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter
DB_SERVICE_PREFIX_MAPPING
属性是一个以逗号分隔的数据源属性前缀列表。然后,这些前缀附加到该数据源的所有属性中。然后,可以将多个数据源包含在单个环境文件中。另外,每个数据源也可以在单独的环境文件中提供。
数据源包含两种类型的属性:连接池特定属性和数据库驱动程序特定属性。连接池相关的属性生成与数据源的连接。数据库驱动程序特定属性决定数据源的驱动程序,并配置为驱动程序 S2I 工件。
在上例中,DS1
是数据源前缀,CONNECTION_CHECKER
指定一个用于验证数据库连接的连接检查器类,EXCEPTION_SORTER
指定用于检测严重数据库连接异常的分类器类。
数据源环境文件添加到项目的 OpenShift Secret 中。然后,模板中使用 ENV_FILES environment
属性调用这些环境文件,其值是完全限定环境文件的逗号分隔列表,如下所示:
{ “Name”: “ENV_FILES”, “Value”: “/etc/extensions/datasources1.env,/etc/extensions/datasources2.env” }