

AWS 大型机现代化服务（托管运行时环境体验）不再向新客户开放。有关类似于 AWS 大型机现代化服务（托管运行时环境体验）的功能，请浏览 AWS 大型机现代化服务（自我管理体验）。现有客户可以继续正常使用该服务。有关更多信息，请参阅[AWS 大型机现代化可用性变更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为大型机运行时 AWS 转换设置配置
<a name="ba-runtime-config"></a>

大型机运行时的 AWS 转换和客户端代码是使用 [Spring Boot 框架](https://docs.spring.io/spring-boot/docs/2.5.14/reference/html/)的 Web 应用程序。它利用 Spring 功能来提供配置，其中包含多个可能的位置和优先级规则。提供许多其他文件（例如 groovy 脚本、sql 等）时，也有类似的优先级规则。

大型机运行时 AWS 转换还包含其他可选的 Web 应用程序，如果需要，可以选择加入这些应用程序。

**Topics**
+ [应用程序配置基础知识](#ba-runtime-config-app-basics)
+ [应用程序优先级](#ba-runtime-config-app-precedence)
+ [用于数据库的 JNDI](#ba-runtime-config-app-jndi)
+ [AWS 针对大型机运行时机密进行转换](ba-runtime-config-app-secrets.md)
+ [其他文件（groovy、sql 等）](#ba-runtime-config-app-files)
+ [其他 Web 应用程序](#ba-runtime-config-app-webapp)
+ [为大型机 AWS 运行时的转换启用属性](ba-runtime-key-value.md)
+ [大型机运行时 AWS 转换中可用的 Redis 缓存属性](ba-runtime-redis-configuration.md)
+ [为 Gapwalk 应用程序配置安全性](ba-runtime-security.md)

## 应用程序配置基础知识
<a name="ba-runtime-config-app-basics"></a>

处理应用程序配置的默认方法是使用应用程序服务器 `config` 文件夹中提供的专用 YAML 文件。以下是两个主要的 YAML 配置文件：
+ `application-main.yaml`
+ `application-profile.yaml`（其中 `profile` 值是在应用程序生成期间设置的）。

第一个文件用于配置框架，即 `Gapwalk-application.war`，第二个文件用于专门针对客户端应用程序的其他选项。可以使用 Spring 配置文件来实现：Gapwalk 应用程序使用 `main` 配置文件，而客户端应用程序使用 `profile` 配置文件。

下面示例显示了典型的主 YAML 文件。

![\[“主”YAML 文件的摘录。\]](http://docs.aws.amazon.com/zh_cn/m2/latest/userguide/images/main-yaml.png)


下面示例显示了典型的客户端 YAML 文件。

![\[客户端 YAML 示例\]](http://docs.aws.amazon.com/zh_cn/m2/latest/userguide/images/client-yaml.png)


有关 YAML 文件内容的信息，请参阅[为大型机 AWS 运行时的转换启用属性](ba-runtime-key-value.md)。

## 应用程序优先级
<a name="ba-runtime-config-app-precedence"></a>

Spring 优先规则适用于上述配置文件。请注意：
+ `application-main` YAML 文件在 Gapwalk 主 war 文件中采用默认值，该默认值会被 `config` 文件夹中的值取代。
+ 这点应同样适用于客户端应用程序配置
+ 其他参数可以在服务器启动时在命令行中传递。这些参数会覆盖 YAML 文件中的参数。

有关更多信息，请参阅 [Spring Boot 官方文档](https://docs.spring.io/spring-boot/docs/2.5.14/reference/html/features.html#features.external-config)。

## 用于数据库的 JNDI
<a name="ba-runtime-config-app-jndi"></a>

数据库配置可能与 Tomcat 中 context.xml 文件中的 JNDI 一并提供。任何此类配置都会覆盖 YAML 文件中的配置。不过，请注意，使用这类配置不允许将您的凭证封装在密钥管理器中（请参阅下文）。

以下示例显示了 JICS 和Blusam数据库的示例配置。

```
<Resource auth="Container" driverClassName="org.postgresql.Driver" initialSize="0" maxIdle="5" 
   maxOpenPreparedStatements="-1" maxTotal="10" maxWaitMillis="-1" name="jdbc/jics"
   poolPreparedStatements="true" testOnBorrow="false" type="javax.sql.DataSource" 		
   url="jdbc:postgresql://XXXX.rds.amazonaws.com:5432/XXXX" username="XXXX" password="XXXX" />
```

jdbc/jics  
将`jdbc/jics`用于 JICS 数据库，`jdbc/bluesam`（注意 'e'）用于Blusam数据库。

url="jdbc:postgresql://XXXX.rds.amazonaws.com:5432/XXXX" username="XXXX" password="XXXX"  
数据库 URL、用户名和密码。

## 其他文件（groovy、sql 等）
<a name="ba-runtime-config-app-files"></a>

客户项目使用的其他文件使用与 Spring 配置文件相似的优先级规则。示例：
+ Groovy 脚本是 `scripts` 文件夹或子文件夹中的 `.groovy` 文件。
+ SQL 脚本是 `sql` 文件夹或子文件夹中的 `.sql` 文件。
+ 进程守护程序脚本是 `daemons` 文件夹或子文件夹中的 `.groovy` 文件。
+ 查询数据库映射文件是 `sql` 文件夹或子文件夹中名为 `queries-database.mapping` 的文件。
+ Jasper 模板是 `templates` 文件夹或子文件夹中的 `.jrxml` 文件。
+ 数据集目录是 `catalog` 文件夹中的 `.json` 文件。
+ Lnk 文件是 `lnk` 文件夹中的 `.json` 文件。

所有这些位置都可以通过系统属性或客户端 YAML 属性进行覆盖。
+ 对于 Groovy 脚本：`configuration.scripts`
+ 对于 SQL 脚本：`configuration.sql`
+ 对于进程守护程序脚本：`configuration.daemons`
+ 对于查询数据库映射文件：`configuration.databaseMapping`
+ 对于 Jasper 模板：`configuration.templates`
+ 对于数据集目录：`configuration.catalog`
+ 对于 Lnk 文件：`configuration.lnk`

如果找不到该属性，则文件将从上述默认位置获取。首先将使用 tomcat 工作目录作为根目录进行查找，最后在应用程序 war 文件中进行查找。

## 其他 Web 应用程序
<a name="ba-runtime-config-app-webapp"></a>

大型机运行时 AWS 转换的`webapps-extra`文件夹中包含其他 Web 应用程序。默认情况下，tomcat 服务器不为这些应用程序提供服务。

是否选择加入这些 Web 应用程序取决于现代化项目，可通过将所需的 war 文件从 `webapps-extra` 文件夹移动到 `webapps` 文件夹来完成。之后，war 文件将在下次启动时由 tomcat 服务器提供服务。

对于每个增加的 war，也可以在 YAML 配置文件中添加一些特定于项目的额外配置，类似在上述 `application-main.yml` 文件中添加配置。其他 war 如下：
+ `gapwalk-utility-pgm.war`：包含对 ZOS 实用程序的支持并将 `application-utility-pgm.yaml` 用作其配置。
+ `gapwalk-cl-command.war`：包含对 AS/400 实用程序的支持并将 `application-cl-command.yaml` 用作其配置。
+ `gapwalk-hierarchical-support.war`: 包含 IMS/MFS 事务支持并`application-jhdb.yaml`用作其配置