方式2:在已有项目中部署流程引擎流程SDK
流程引擎不仅支持以独立服务的方式部署流程引擎流程SDK,还支持以依赖引入的方式嵌入用户已存在的项目中,进行定制化二次开发,提供可直接调用的base内置Service方法,减少网络IO。
如下操作以Windows 11操作系统的本地服务器为例。
准备事项
在部署流程引擎流程SDK之前,需要提前准备如下事项。
操作步骤
- 解压缩已获取的SDK包。
- 将解压缩后“design”和“runtime”文件夹下“lib”文件夹中的所有文件引入到已有的Maven工程中。
- 在“resources”目录下,单击 。
- 在弹出的窗口中,选择 ,单击 。
- 全选“lib”文件夹下的所有文件,单击“OK”。
- 单击“Apply”。
- 将已获取的License文件复制到已有的Maven工程中,例如“D:\workspace\sdk-test\src\main\resources\lic\license.dat”。
如果您当前暂未申请License,且获取的SDK包处于免费使用期,可跳过此配置。
- 在启动类上方添加如下注解。
@SpringBootApplication @EnableSffRedisHttpSession
- 在启动类中添加System.setProperty()方法,设置系统属性。
// 流程编排服务 System.setProperty("hwenvironment", "uat"); SpringApplication.run(WfDefinitionDemoApplication.class, args); //流程运行服务 System.setProperty("hwenvironment", "uat"); SpringApplication.run(WorkflowRuntimeApplication.class, args);
- 流程编排服务完整的示例代码如下:
package com.sdk; import com.huawei.it.plm.definitiondemo.WfDefinitionDemoApplication; import com.huawei.org.springframework.session.data.redis.config.annotation.web.http.EnableSffRedisHttpSession; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableSffRedisHttpSession public class SdkDesignApplication { public static void main(String[] args) { System.setProperty("hwenvironment", "uat"); SpringApplication.run(WfDefinitionDemoApplication.class, args); } }
- 流程运行服务完整的示例代码如下:
package com.sdk; import com.huawei.it.workflowdemo.WorkflowRuntimeApplication; import com.huawei.org.springframework.session.data.redis.config.annotation.web.http.EnableSffRedisHttpSession; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableSffRedisHttpSession public class SdkRuntimeApplication { public static void main(String[] args) { System.setProperty("hwenvironment", "uat"); SpringApplication.run(WorkflowRuntimeApplication.class, args); } }
- 流程编排服务完整的示例代码如下:
- 在已有的Maven工程中,添加SDK启动配置。
- 单击 。
- 在弹出的窗口中,单击“Environment variables”。
- 在弹出的窗口中,单击,依次添加对应资源的配置信息。
请根据实际的资源规划(流程引擎流程SDK),参考资源配置说明(流程引擎流程SDK),按需添加。
图1 添加环境变量
- 单击“OK”。
- 在已有的Maven工程中,单击,启动项目。
- 完成部署后,流程引擎支持如下几种验证方式。您可以根据实际情况选择验证。
- 方式一:查看服务日志
执行如下命令,查看服务日志。
tail -f xdm.log
显示结果为类似如下信息,则说明启动成功。
- 流程编排服务
INFO WfDefinitionDemoApplication:61 - Started WfDefinitionDemoApplication in xxx seconds
- 流程运行服务
INFO WorkflowRuntimeApplication:61 - Started WorkflowRuntimeApplication in xxx seconds
- 流程编排服务
- 方式二:调用指定接口
启动“startDesign.bash”和“startRuntime.bash”脚本文件后,约等待2分钟,调用如下健康检查接口,查询服务是否正常启动。
http://{部署服务器的IP地址}:{部署服务器的端口号}${流程编排服务文根/流程运行服务文根}/health/check
如果返回如下信息,则说明启动成功。
true
- 方式三:访问可视化页面
如果您已在资源规划(流程引擎流程SDK)中规划了单点登录的相关资源/云服务,并在部署时配置了单点登录信息,可以选择此方式进行验证。
在浏览器中访问如下地址,查看服务是否启动成功。
- 流程编排服务
http://{承载流程编排服务的服务器域名或IP地址}:{流程编排服务的端口号}/{流程编排服务文根}/index.html#/processApplicationForm?tenantId=-1&applicationId={应用ID}
- 流程运行服务
http://{承载流程运行服务的服务器域名或IP地址}:{流程运行服务的端口号}/{流程运行服务文根}/wfAdminIndex.html#/process-tasks?tenantId=-1&applicationId={应用ID}
转入流程引擎登录页面,输入登录账号和登录密码,成功登录并进入流程引擎页面,即表示启动成功。
- 流程编排服务
- 方式一:查看服务日志
异常处理
引入SDK包下的文件到Maven工程时,可能会存在引入失败的情况。如下图所示:
您可以参考如下操作进行修复。
- 右键单击引入失败的JAR包,选择“Add as Library”。
- 在弹出的窗口中,选择“Classes”,单击“OK”。
- 在弹出的窗口中,将“Level”设置为“Module Library”,单击“OK”。
图3 添加Library