Spring Boot 应用程序中的 JCICS 和 JCICSX
您可以在 Spring Boot WAR 和 Spring Boot JAR 应用程序中使用 JCICS 或 JCICSX 来调用 CICS® 服务。
这与 Java EE 和 Liberty 的其他集成方面相反,后者只有在 Spring Boot 应用程序作为 WAR 部署时才可用。 Spring Boot 尽管您只需使用 com.ibm.cics.server 或 com.ibm.cics.jcicsx 工件来解决与 JCICS 或 JCICSX 的依赖关系,但更一致的方法是使用物料清单 (BOM) 文件。 如示例所示,这可确保您针对一系列 CICS 构件的一致版本进行解析。
注意:以下说明以 JCICS 库为例,但也适用于 JCICSX。
避免将 JCICS 库绑定到应用程序中,因为这是由 CICS 运行时提供的。
如果您正在使用 Gradle,那么可以通过使用 enforcedPlatform 限定符对 compileOnly 伪指令进行编码来利用 CICS TS BOM。 这样做将从 BOM 推断版本信息,并确保对所包含工件的引用一致且兼容。 此后,要声明对来自 BOM 的 JCICS 库 (com.ibm.cics.server) 或任何其他 CICS 工件的依赖关系,不需要版本限定符,只需对相应的依赖关系语句进行编码。
例如,
dependencies {
compileOnly enforcedPlatform('com.ibm.cics:com.ibm.cics.ts.bom:6.1-20240903141936-PH59389')
compileOnly("com.ibm.cics:com.ibm.cics.server") //dependency on JCICS
}如果您正在使用 Maven ,那么可以通过针对 JCICS 库进行编译或使用
<scope>provided</scope>来实现此目的。 或者,如果您正在使用 CICS TS BOM ,那么 <dependency> 元素上的 <scope>import</scope> 会自动将作用域值延迟到 CICS BOM。 CICS BOM 将应用 provided 作用域,这将确保仅在构建时包含 JCICS。 它不会嵌入到应用程序中,在该应用程序中,它可能会与 CICS 运行时所使用的版本发生冲突。 例如,<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.ibm.cics</groupId>
<artifactId>com.ibm.cics.ts.bom</artifactId>
<version>6.1-20240903141936-PH59389</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>注: 请参阅 Maven Central ,了解适合您的 CICS 版本的最新版本号。
有关可使用 Gradle 和 Maven 解决的更多 CICS - 提供的依赖关系,请参阅使用 Gradle 或 Maven 管理 Java 依赖关系。