第 3 章 为红帽构建 Kogito 微服务创建 Maven 项目
在开始开发 Red Hat build of Kogito 微服务之前,您需要创建一个 Maven 项目,在其中构建资产以及您的应用程序的任何其他相关资源。
流程
- 在命令终端中,导航到要存储新项目的本地文件夹。
输入以下命令在定义的文件夹中生成项目:
在 Red Hat build of Quarkus 上
$ mvn io.quarkus:quarkus-maven-plugin:create \ -DprojectGroupId=org.acme -DprojectArtifactId=sample-kogito \ -DprojectVersion=1.0.0-SNAPSHOT -Dextensions=kogito-quarkus在 Spring Boot 上
$ mvn archetype:generate \ -DarchetypeGroupId=org.kie.kogito \ -DarchetypeArtifactId=kogito-spring-boot-archetype \ -DgroupId=org.acme -DartifactId=sample-kogito \ -DarchetypeVersion=1.11.0.Final \ -Dversion=1.0-SNAPSHOT此命令生成
sample-kogitoMaven 项目,并导入扩展以获取所有需要的依赖关系和配置,以便为您的应用程序做好业务自动化准备。如果要启用项目的 PMML 执行,请在包含 Red Hat build of Kogito 微服务的 Maven 项目的
pom.xml文件中添加以下依赖项:启用 PMML 执行的依赖项
<dependency> <groupId>org.kie.kogito</groupId> <artifactId>kogito-pmml</artifactId> </dependency> <dependency> <groupId>org.jpmml</groupId> <artifactId>pmml-model</artifactId> </dependency>在 Red Hat build of Quarkus 上,如果您计划在 OpenShift 上运行应用程序,还必须为 存活度和就绪度探测 导入
smallrye-health扩展,如下例所示:用于 OpenShift 上红帽构建的 Quarkus 应用程序的 SmallRye Health 扩展
$ mvn quarkus:add-extension -Dextensions="smallrye-health"此命令在 Red Hat Decision Manager 项目的
pom.xml文件中生成以下依赖项:在 OpenShift 中红帽构建的 Quarkus 应用程序的 SmallRye Health 依赖项
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-smallrye-health</artifactId> </dependency>- 在 VS Code IDE 中打开或导入项目,以查看其内容。
3.1. 为红帽构建的 Kogito 微服务创建自定义 Spring Boot 项目 复制链接链接已复制到粘贴板!
您可以使用 Spring Boot archetype 为红帽构建的 Kogito 微服务创建自定义 Maven 项目。Spring Boot archetype 允许您为项目添加 Spring Boot 启动程序或附加组件。
Spring Boot starter 是项目的一个 all-in-one 描述符,需要红帽构建的 Kogito 提供的业务自动化引擎。Spring Boot starters 包括决策、规则和预测。
当您的项目包含所有资产时,您希望快速开始红帽构建的 Kogito,您可以使用 kogito-spring-boot-starter。对于更精细的方法,您可以使用特定的启动程序,如 kogito-decisions-spring-boot-starter 或启动者的组合。
Red Hat build of Kogito 支持以下 Spring Boot 启动程序:
- 决策 Spring Boot Start
为 Spring Boot 项目提供 DMN 支持的入门程序。以下是在项目中添加决策 Spring 引导加载程序的示例:
<dependencies> <dependency> <groupId>org.kie.kogito</groupId> <artifactId>kogito-decisions-spring-boot-starter</artifactId> </dependency> </dependencies>- 预测 Spring Boot starter
为 Spring Boot 项目提供 PMML 支持的入门程序。以下是在项目中添加预测 Spring 引导启动程序的示例:
<dependencies> <dependency> <groupId>org.kie.kogito</groupId> <artifactId>kogito-predictions-spring-boot-starter</artifactId> </dependency> </dependencies>- 规则 Spring Boot Start
为 Spring Boot 项目提供 DRL 支持的入门程序。以下是在项目中添加 Spring boot Start 规则的示例:
<dependencies> <dependency> <groupId>org.kie.kogito</groupId> <artifactId>kogito-rules-spring-boot-starter</artifactId> </dependency> </dependencies>
流程
- 在命令终端中,导航到要存储新项目的本地文件夹。
输入以下命令之一使用
starters或addons属性生成项目:要使用 starters 属性
生成项目,请输入以下命令:$ mvn archetype:generate \ -DarchetypeGroupId=org.kie.kogito \ -DarchetypeArtifactId=kogito-springboot-archetype \ -DgroupId=org.acme -DartifactId=sample-kogito \ -DarchetypeVersion=1.11.0.Final \ -Dversion=1.0-SNAPSHOT -Dstarters=decisions新项目包括运行决策微服务所需的依赖项。您可以使用以逗号分隔的列表组合多个 Spring Boot 启动程序,如
starters=decisions,rules。要使用
addons属性生成包含 Prometheus 监控的项目,请输入以下命令:$ mvn archetype:generate \ -DarchetypeGroupId=org.kie.kogito \ -DarchetypeArtifactId=kogito-springboot-archetype \ -DgroupId=org.acme -DartifactId=sample-kogito \ -DarchetypeVersion=1.11.0.Final \ -Dversion=1.0-SNAPSHOT -Dstarters=descisions -Daddons=monitoring-prometheus,persistence-infinispan注意当您将附加组件传递给属性时,附加组件名称不需要
kogito-addons-springboot前缀。另外,您可以组合add-ons和starters属性来自定义项目。
- 在 IDE 中打开或导入项目,以查看其内容。