[INFO] Scanning for projects... [INFO] [INFO] ----------------< com.flowable:flowable-devops-backend >---------------- [INFO] Building Flowable DevOps Backend 1.0-SNAPSHOT [INFO] from pom.xml [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] >>> spring-boot:3.1.5:run (default-cli) > test-compile @ flowable-devops-backend >>> [WARNING] The artifact mysql:mysql-connector-java:jar:8.0.33 has been relocated to com.mysql:mysql-connector-j:jar:8.0.33: MySQL Connector/J artifacts moved to reverse-DNS compliant Maven 2+ coordinates. [INFO] [INFO] --- resources:3.3.1:resources (default-resources) @ flowable-devops-backend --- [INFO] Copying 1 resource from src/main/resources to target/classes [INFO] Copying 0 resource from src/main/resources to target/classes [INFO] [INFO] --- compiler:3.11.0:compile (default-compile) @ flowable-devops-backend --- [INFO] Changes detected - recompiling the module! :source [INFO] Compiling 37 source files with javac [debug release 17] to target/classes [INFO] 由于在类路径中发现了一个或多个处理程序,因此启用了 批注处理。未来发行版的 javac 可能会禁用批注处理, 除非至少按名称指定了一个处理程序 (-processor), 或指定了搜索路径 (--processor-path, --processor-module-path), 或显式启用了批注处理 (-proc:only, -proc:full)。 可使用 -Xlint:-options 隐藏此消息。 可使用 -proc:none 禁用批注处理。 [INFO] /Users/qichen/Public/development/flowable-devops/backend/src/main/java/com/flowable/devops/entity/WorkflowExecution.java: /Users/qichen/Public/development/flowable-devops/backend/src/main/java/com/flowable/devops/entity/WorkflowExecution.java使用或覆盖了已过时的 API。 [INFO] /Users/qichen/Public/development/flowable-devops/backend/src/main/java/com/flowable/devops/entity/WorkflowExecution.java: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。 [INFO] [INFO] --- resources:3.3.1:testResources (default-testResources) @ flowable-devops-backend --- [INFO] Copying 1 resource from src/test/resources to target/test-classes [INFO] [INFO] --- compiler:3.11.0:testCompile (default-testCompile) @ flowable-devops-backend --- [INFO] Changes detected - recompiling the module! :dependency [INFO] Compiling 5 source files with javac [debug release 17] to target/test-classes [INFO] 由于在类路径中发现了一个或多个处理程序,因此启用了 批注处理。未来发行版的 javac 可能会禁用批注处理, 除非至少按名称指定了一个处理程序 (-processor), 或指定了搜索路径 (--processor-path, --processor-module-path), 或显式启用了批注处理 (-proc:only, -proc:full)。 可使用 -Xlint:-options 隐藏此消息。 可使用 -proc:none 禁用批注处理。 [INFO] [INFO] <<< spring-boot:3.1.5:run (default-cli) < test-compile @ flowable-devops-backend <<< [INFO] [INFO] [INFO] --- spring-boot:3.1.5:run (default-cli) @ flowable-devops-backend --- [INFO] Attaching agents: [] 13:26:27.328 [main] INFO com.flowable.devops.FlowableDevopsApplication -- 启动 Flowable DevOps Backend 应用程序... 13:26:27.329 [main] INFO com.flowable.devops.FlowableDevopsApplication -- 基于 Spring Boot 3 + WebFlux + Flowable 7 13:26:27.329 [main] INFO com.flowable.devops.FlowableDevopsApplication -- 可视化工作流平台 - 后端服务 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.1.5) 2025-10-13 13:26:27 [main] INFO c.f.devops.FlowableDevopsApplication - Starting FlowableDevopsApplication using Java 21.0.5 with PID 62797 (/Users/qichen/Public/development/flowable-devops/backend/target/classes started by qichen in /Users/qichen/Public/development/flowable-devops/backend) 2025-10-13 13:26:27 [main] DEBUG c.f.devops.FlowableDevopsApplication - Running with Spring Boot v3.1.5, Spring v6.0.13 2025-10-13 13:26:27 [main] INFO c.f.devops.FlowableDevopsApplication - The following 1 profile is active: "dev" 2025-10-13 13:26:27 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode 2025-10-13 13:26:27 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-13 13:26:27 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 58 ms. Found 4 JPA repository interfaces. 2025-10-13 13:26:27 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode 2025-10-13 13:26:27 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. 2025-10-13 13:26:27 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.flowable.devops.repository.NodeExecutionLogRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository 2025-10-13 13:26:27 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.flowable.devops.repository.NodeTypeRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository 2025-10-13 13:26:27 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.flowable.devops.repository.WorkflowDefinitionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository 2025-10-13 13:26:27 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.flowable.devops.repository.WorkflowExecutionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository 2025-10-13 13:26:27 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 3 ms. Found 0 Redis repository interfaces. 2025-10-13 13:26:28 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library 2025-10-13 13:26:28 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-13 13:26:28 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.2.13.Final 2025-10-13 13:26:28 [main] INFO org.hibernate.cfg.Environment - HHH000406: Using bytecode reflection optimizer 2025-10-13 13:26:28 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer 2025-10-13 13:26:28 [main] INFO com.zaxxer.hikari.HikariDataSource - FlowableDevOpsHikariCP - Starting... 2025-10-13 13:26:28 [main] INFO com.zaxxer.hikari.pool.HikariPool - FlowableDevOpsHikariCP - Added connection com.mysql.cj.jdbc.ConnectionImpl@257b3561 2025-10-13 13:26:28 [main] INFO com.zaxxer.hikari.HikariDataSource - FlowableDevOpsHikariCP - Start completed. 2025-10-13 13:26:28 [main] WARN org.hibernate.orm.deprecation - HHH90000025: MySQL8Dialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) 2025-10-13 13:26:28 [main] WARN org.hibernate.orm.deprecation - HHH90000026: MySQL8Dialect has been deprecated; use org.hibernate.dialect.MySQLDialect instead 2025-10-13 13:26:28 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) 2025-10-13 13:26:28 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-13 13:26:29 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. 2025-10-13 13:26:29 [main] INFO c.f.d.w.n.registry.NodeTypeRegistry - 开始初始化节点类型注册中心... 2025-10-13 13:26:29 [main] INFO c.f.d.w.n.registry.NodeTypeRegistry - 发现 1 个WorkflowNode实现类 2025-10-13 13:26:29 [main] INFO c.f.d.w.n.registry.NodeTypeRegistry - ✓ 注册节点: HTTP Request (http_request) 2025-10-13 13:26:29 [main] INFO c.f.d.w.n.registry.NodeTypeRegistry - 节点类型注册中心初始化完成,共注册 1 个节点类型 2025-10-13 13:26:29 [main] INFO o.f.s.b.e.EventRegistryAutoConfiguration - No deployment resources were found for autodeployment 2025-10-13 13:26:29 [main] INFO o.f.s.SpringProcessEngineConfiguration - Found 2 Engine Configurators in total: 2025-10-13 13:26:29 [main] INFO o.f.s.SpringProcessEngineConfiguration - class org.flowable.eventregistry.spring.configurator.SpringEventRegistryConfigurator (priority:100000) 2025-10-13 13:26:29 [main] INFO o.f.s.SpringProcessEngineConfiguration - class org.flowable.idm.engine.configurator.IdmEngineConfigurator (priority:150000) 2025-10-13 13:26:29 [main] INFO o.f.s.SpringProcessEngineConfiguration - Executing beforeInit() of class org.flowable.eventregistry.spring.configurator.SpringEventRegistryConfigurator (priority:100000) 2025-10-13 13:26:29 [main] INFO o.f.s.SpringProcessEngineConfiguration - Executing beforeInit() of class org.flowable.idm.engine.configurator.IdmEngineConfigurator (priority:150000) 2025-10-13 13:26:29 [main] INFO o.f.c.e.i.a.DefaultAsyncTaskExecutor - Creating thread pool queue of size 100 2025-10-13 13:26:29 [main] INFO o.f.c.e.i.a.DefaultAsyncTaskExecutor - Creating thread factory with naming pattern flowable-async-task-invoker-thread-%d 2025-10-13 13:26:29 [main] INFO o.f.c.e.i.a.DefaultAsyncTaskExecutor - Creating executor service with corePoolSize 8, maxPoolSize 8 and keepAliveTime 5000 2025-10-13 13:26:29 [main] INFO o.f.c.e.i.a.DefaultAsyncTaskExecutor - Using rejectedExecutionHandler java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy@7cb2f534 2025-10-13 13:26:29 [main] INFO o.f.c.e.i.a.DefaultAsyncTaskExecutor - Creating thread pool queue of size 2048 2025-10-13 13:26:29 [main] INFO o.f.c.e.i.a.DefaultAsyncTaskExecutor - Creating thread factory with naming pattern flowable-async-job-executor-thread-%d 2025-10-13 13:26:29 [main] INFO o.f.c.e.i.a.DefaultAsyncTaskExecutor - Creating executor service with corePoolSize 8, maxPoolSize 8 and keepAliveTime 5000 2025-10-13 13:26:29 [main] INFO o.f.s.SpringProcessEngineConfiguration - Executing configure() of class org.flowable.eventregistry.spring.configurator.SpringEventRegistryConfigurator (priority:100000) 2025-10-13 13:27:00 [main] INFO liquibase.changelog - Reading from `flowable-devops`.FLW_EV_DATABASECHANGELOG 2025-10-13 13:27:00 [main] INFO liquibase.executor - Changelog query completed. 2025-10-13 13:27:00 [main] INFO o.f.e.impl.EventRegistryEngineImpl - EventRegistryEngine default created 2025-10-13 13:27:00 [main] INFO o.f.s.SpringProcessEngineConfiguration - Executing configure() of class org.flowable.idm.engine.configurator.IdmEngineConfigurator (priority:150000) 2025-10-13 13:27:00 [main] INFO o.f.idm.engine.impl.IdmEngineImpl - IdmEngine default created 2025-10-13 13:27:00 [main] INFO o.f.engine.impl.ProcessEngineImpl - ProcessEngine default created 2025-10-13 13:27:00 [main] INFO o.f.e.impl.cmd.ValidateV5EntitiesCmd - Total of v5 deployments found: 0 2025-10-13 13:27:00 [main] INFO c.f.d.expression.ExpressionEngine - 表达式引擎初始化完成,使用Jakarta EL实现 2025-10-13 13:27:00 [main] DEBUG o.s.w.r.r.m.a.RequestMappingHandlerMapping - 35 mappings in 'requestMappingHandlerMapping' 2025-10-13 13:27:00 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoint(s) beneath base path '/actuator' 2025-10-13 13:27:00 [main] DEBUG o.s.w.r.r.m.a.ControllerMethodResolver - ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 @ExceptionHandler 2025-10-13 13:27:00 [main] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - enableLoggingRequestDetails='false': form data and headers will be masked to prevent unsafe logging of potentially sensitive data 2025-10-13 13:27:00 [main] INFO o.s.b.w.e.netty.NettyWebServer - Netty started on port 8080 2025-10-13 13:27:00 [main] INFO c.f.devops.FlowableDevopsApplication - Started FlowableDevopsApplication in 33.366 seconds (process running for 33.515) 2025-10-13 13:27:00 [main] INFO c.f.devops.config.DataInitializer - 开始数据初始化... 2025-10-13 13:27:00 [main] INFO c.f.devops.config.DataInitializer - 加载默认节点类型... 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 创建节点类型: start 2025-10-13 13:27:00 [main] DEBUG c.f.d.w.n.registry.NodeTypeRegistry - 从数据库注册节点类型: start 2025-10-13 13:27:00 [main] DEBUG c.f.devops.service.NodeTypeService - 节点类型已注册到注册表: start 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 节点类型创建成功: start 2025-10-13 13:27:00 [main] INFO c.f.devops.config.DataInitializer - 创建默认节点类型: 开始 (start) 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 创建节点类型: end 2025-10-13 13:27:00 [main] DEBUG c.f.d.w.n.registry.NodeTypeRegistry - 从数据库注册节点类型: end 2025-10-13 13:27:00 [main] DEBUG c.f.devops.service.NodeTypeService - 节点类型已注册到注册表: end 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 节点类型创建成功: end 2025-10-13 13:27:00 [main] INFO c.f.devops.config.DataInitializer - 创建默认节点类型: 结束 (end) 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 创建节点类型: script-task 2025-10-13 13:27:00 [main] DEBUG c.f.d.w.n.registry.NodeTypeRegistry - 从数据库注册节点类型: script-task 2025-10-13 13:27:00 [main] DEBUG c.f.devops.service.NodeTypeService - 节点类型已注册到注册表: script-task 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 节点类型创建成功: script-task 2025-10-13 13:27:00 [main] INFO c.f.devops.config.DataInitializer - 创建默认节点类型: 脚本任务 (script-task) 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 创建节点类型: http-request 2025-10-13 13:27:00 [main] DEBUG c.f.d.w.n.registry.NodeTypeRegistry - 从数据库注册节点类型: http-request 2025-10-13 13:27:00 [main] DEBUG c.f.devops.service.NodeTypeService - 节点类型已注册到注册表: http-request 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 节点类型创建成功: http-request 2025-10-13 13:27:00 [main] INFO c.f.devops.config.DataInitializer - 创建默认节点类型: HTTP请求 (http-request) 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 创建节点类型: user-task 2025-10-13 13:27:00 [main] DEBUG c.f.d.w.n.registry.NodeTypeRegistry - 从数据库注册节点类型: user-task 2025-10-13 13:27:00 [main] DEBUG c.f.devops.service.NodeTypeService - 节点类型已注册到注册表: user-task 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 节点类型创建成功: user-task 2025-10-13 13:27:00 [main] INFO c.f.devops.config.DataInitializer - 创建默认节点类型: 用户任务 (user-task) 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 创建节点类型: exclusive-gateway 2025-10-13 13:27:00 [main] DEBUG c.f.d.w.n.registry.NodeTypeRegistry - 从数据库注册节点类型: exclusive-gateway 2025-10-13 13:27:00 [main] DEBUG c.f.devops.service.NodeTypeService - 节点类型已注册到注册表: exclusive-gateway 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 节点类型创建成功: exclusive-gateway 2025-10-13 13:27:00 [main] INFO c.f.devops.config.DataInitializer - 创建默认节点类型: 条件分支 (exclusive-gateway) 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 创建节点类型: parallel-gateway 2025-10-13 13:27:00 [main] DEBUG c.f.d.w.n.registry.NodeTypeRegistry - 从数据库注册节点类型: parallel-gateway 2025-10-13 13:27:00 [main] DEBUG c.f.devops.service.NodeTypeService - 节点类型已注册到注册表: parallel-gateway 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 节点类型创建成功: parallel-gateway 2025-10-13 13:27:00 [main] INFO c.f.devops.config.DataInitializer - 创建默认节点类型: 并行分支 (parallel-gateway) 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 创建节点类型: data-transform 2025-10-13 13:27:00 [main] DEBUG c.f.d.w.n.registry.NodeTypeRegistry - 从数据库注册节点类型: data-transform 2025-10-13 13:27:00 [main] DEBUG c.f.devops.service.NodeTypeService - 节点类型已注册到注册表: data-transform 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 节点类型创建成功: data-transform 2025-10-13 13:27:00 [main] INFO c.f.devops.config.DataInitializer - 创建默认节点类型: 数据转换 (data-transform) 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 刷新节点类型注册表 2025-10-13 13:27:00 [main] DEBUG c.f.d.w.n.registry.NodeTypeRegistry - 清空节点类型注册表 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 数据库中总共有 0 个节点类型,其中 0 个启用 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 查询返回 0 个启用的节点类型 2025-10-13 13:27:00 [main] INFO c.f.devops.service.NodeTypeService - 节点类型注册表刷新完成,已加载 0 个节点类型 2025-10-13 13:27:00 [main] INFO c.f.devops.config.DataInitializer - 默认节点类型加载完成,共 8 个节点类型 2025-10-13 13:27:00 [main] INFO c.f.devops.config.DataInitializer - 数据初始化完成 2025-10-13 13:27:00 [main] INFO c.f.devops.FlowableDevopsApplication - Flowable DevOps Backend 应用程序启动成功! 2025-10-13 13:30:39 [reactor-http-nio-2] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - [d3aea410-1] HTTP GET "/actuator/health" 2025-10-13 13:30:39 [lettuce-nioEventLoop-5-1] DEBUG o.s.w.r.r.m.a.ResponseEntityResultHandler - [d3aea410-1] Using 'application/vnd.spring-boot.actuator.v3+json' given [*/*] and supported [application/vnd.spring-boot.actuator.v3+json, application/vnd.spring-boot.actuator.v2+json, application/json] 2025-10-13 13:30:39 [lettuce-nioEventLoop-5-1] DEBUG o.s.w.r.r.m.a.ResponseEntityResultHandler - [d3aea410-1] 0..1 [org.springframework.boot.actuate.health.SystemHealth] 2025-10-13 13:30:39 [lettuce-nioEventLoop-5-1] DEBUG org.springframework.web.HttpLogging - [d3aea410-1] Encoding [org.springframework.boot.actuate.health.SystemHealth@262006cb] 2025-10-13 13:30:39 [reactor-http-nio-2] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - [d3aea410-1] Completed 200 OK 2025-10-13 13:30:55 [reactor-http-nio-3] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - [df7262b1-2] HTTP POST "/api/workflows" 2025-10-13 13:30:55 [reactor-http-nio-3] DEBUG o.s.w.r.r.m.a.RequestMappingHandlerMapping - [df7262b1-2] Mapped to com.flowable.devops.controller.WorkflowController#createWorkflow(WorkflowDefinition) 2025-10-13 13:30:55 [reactor-http-nio-3] DEBUG o.s.w.r.r.m.a.RequestBodyMethodArgumentResolver - [df7262b1-2] Content-Type:application/json 2025-10-13 13:30:55 [reactor-http-nio-3] DEBUG o.s.w.r.r.m.a.RequestBodyMethodArgumentResolver - [df7262b1-2] 0..1 [com.flowable.devops.entity.WorkflowDefinition] 2025-10-13 13:30:55 [reactor-http-nio-3] DEBUG org.springframework.web.HttpLogging - [df7262b1-2] Decoded [WorkflowDefinition(id=test-workflow-001, name=端到端测试工作流, description=用于测试节点间输入输出映射的工作流, definition=nu (truncated)...] 2025-10-13 13:30:55 [reactor-http-nio-3] INFO c.f.d.controller.WorkflowController - 创建工作流定义: 端到端测试工作流 2025-10-13 13:30:55 [reactor-http-nio-3] INFO c.f.devops.service.WorkflowService - 创建工作流定义: 端到端测试工作流 2025-10-13 13:30:55 [reactor-http-nio-3] ERROR c.f.devops.service.WorkflowService - 创建工作流定义失败: 端到端测试工作流 java.lang.NullPointerException: Cannot invoke "com.fasterxml.jackson.databind.JsonNode.has(String)" because "workflowJson" is null at com.flowable.devops.workflow.converter.WorkflowConverter.validateWorkflowJson(WorkflowConverter.java:334) at com.flowable.devops.service.WorkflowService.create(WorkflowService.java:72) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703) at com.flowable.devops.service.WorkflowService$$SpringCGLIB$$0.create() at com.flowable.devops.controller.WorkflowController.lambda$createWorkflow$5(WorkflowController.java:73) at reactor.core.publisher.MonoCallable$MonoCallableSubscription.request(MonoCallable.java:137) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2341) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onSubscribe(FluxOnErrorResume.java:74) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) at reactor.core.publisher.MonoCallable.subscribe(MonoCallable.java:48) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete(MonoIgnoreThen.java:292) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext(MonoIgnoreThen.java:187) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:158) at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:293) at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:474) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:122) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:158) at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107) at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299) at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:337) at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2071) at reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:145) at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260) at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:413) at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:444) at reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:685) at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:114) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:284) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1583) 2025-10-13 13:30:55 [reactor-http-nio-3] ERROR c.f.d.controller.WorkflowController - 创建工作流定义失败: 端到端测试工作流 com.flowable.devops.service.WorkflowServiceException: 创建工作流定义失败: Cannot invoke "com.fasterxml.jackson.databind.JsonNode.has(String)" because "workflowJson" is null at com.flowable.devops.service.WorkflowService.create(WorkflowService.java:87) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703) at com.flowable.devops.service.WorkflowService$$SpringCGLIB$$0.create() at com.flowable.devops.controller.WorkflowController.lambda$createWorkflow$5(WorkflowController.java:73) at reactor.core.publisher.MonoCallable$MonoCallableSubscription.request(MonoCallable.java:137) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2341) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onSubscribe(FluxOnErrorResume.java:74) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) at reactor.core.publisher.MonoCallable.subscribe(MonoCallable.java:48) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete(MonoIgnoreThen.java:292) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext(MonoIgnoreThen.java:187) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:158) at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:293) at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:474) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:122) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:158) at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107) at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299) at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:337) at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2071) at reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:145) at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260) at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:413) at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:444) at reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:685) at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:114) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:284) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: java.lang.NullPointerException: Cannot invoke "com.fasterxml.jackson.databind.JsonNode.has(String)" because "workflowJson" is null at com.flowable.devops.workflow.converter.WorkflowConverter.validateWorkflowJson(WorkflowConverter.java:334) at com.flowable.devops.service.WorkflowService.create(WorkflowService.java:72) ... 75 common frames omitted 2025-10-13 13:30:55 [reactor-http-nio-3] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - [df7262b1-2] Completed 400 BAD_REQUEST 2025-10-13 13:32:47 [reactor-http-nio-4] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - [34098d80-3] HTTP POST "/api/workflows" 2025-10-13 13:32:47 [reactor-http-nio-4] DEBUG o.s.w.r.r.m.a.RequestMappingHandlerMapping - [34098d80-3] Mapped to com.flowable.devops.controller.WorkflowController#createWorkflow(WorkflowDefinition) 2025-10-13 13:32:47 [reactor-http-nio-4] DEBUG o.s.w.r.r.m.a.RequestBodyMethodArgumentResolver - [34098d80-3] Content-Type:application/json 2025-10-13 13:32:47 [reactor-http-nio-4] DEBUG o.s.w.r.r.m.a.RequestBodyMethodArgumentResolver - [34098d80-3] 0..1 [com.flowable.devops.entity.WorkflowDefinition] 2025-10-13 13:32:47 [reactor-http-nio-4] DEBUG org.springframework.web.HttpLogging - [34098d80-3] Decoded [WorkflowDefinition(id=test-workflow-001, name=端到端测试工作流, description=用于测试节点间输入输出映射的工作流, definition={" (truncated)...] 2025-10-13 13:32:47 [reactor-http-nio-4] INFO c.f.d.controller.WorkflowController - 创建工作流定义: 端到端测试工作流 2025-10-13 13:32:47 [reactor-http-nio-4] INFO c.f.devops.service.WorkflowService - 创建工作流定义: 端到端测试工作流 2025-10-13 13:32:47 [reactor-http-nio-4] INFO c.f.devops.service.WorkflowService - 工作流定义创建成功: 端到端测试工作流 (ID: test-workflow-001) 2025-10-13 13:32:47 [reactor-http-nio-4] INFO c.f.d.controller.WorkflowController - 工作流定义创建成功: 端到端测试工作流 (ID: test-workflow-001) 2025-10-13 13:32:47 [reactor-http-nio-4] DEBUG o.s.w.r.r.m.a.ResponseEntityResultHandler - [34098d80-3] Using 'application/json' given [*/*] and supported [application/json, application/*+json, application/x-ndjson, text/event-stream] 2025-10-13 13:32:47 [reactor-http-nio-4] DEBUG o.s.w.r.r.m.a.ResponseEntityResultHandler - [34098d80-3] 0..1 [com.flowable.devops.entity.WorkflowDefinition] 2025-10-13 13:32:47 [reactor-http-nio-4] DEBUG org.springframework.web.HttpLogging - [34098d80-3] Encoding [WorkflowDefinition(id=test-workflow-001, name=端到端测试工作流, description=用于测试节点间输入输出映射的工作流, definition={" (truncated)...] 2025-10-13 13:32:47 [reactor-http-nio-4] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - [34098d80-3] Completed 200 OK 2025-10-13 13:34:08 [reactor-http-nio-5] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - [440c12d6-4] HTTP POST "/api/workflows/test-workflow-001/activate" 2025-10-13 13:34:08 [reactor-http-nio-5] DEBUG o.s.w.r.r.m.a.RequestMappingHandlerMapping - [440c12d6-4] Mapped to com.flowable.devops.controller.WorkflowController#activateWorkflow(String) 2025-10-13 13:34:08 [reactor-http-nio-5] INFO c.f.d.controller.WorkflowController - 激活工作流定义: test-workflow-001 2025-10-13 13:34:08 [reactor-http-nio-5] INFO c.f.devops.service.WorkflowService - 激活工作流定义: test-workflow-001 2025-10-13 13:34:08 [reactor-http-nio-5] ERROR c.f.devops.service.WorkflowService - 激活工作流定义失败: test-workflow-001 com.flowable.devops.service.WorkflowNotFoundException: 工作流定义不存在: test-workflow-001 at com.flowable.devops.service.WorkflowService.lambda$getById$0(WorkflowService.java:140) at java.base/java.util.Optional.orElseThrow(Optional.java:403) at com.flowable.devops.service.WorkflowService.getById(WorkflowService.java:140) at com.flowable.devops.service.WorkflowService.activate(WorkflowService.java:204) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703) at com.flowable.devops.service.WorkflowService$$SpringCGLIB$$0.activate() at com.flowable.devops.controller.WorkflowController.lambda$activateWorkflow$14(WorkflowController.java:129) at reactor.core.publisher.MonoCallable$MonoCallableSubscription.request(MonoCallable.java:137) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2341) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onSubscribe(FluxOnErrorResume.java:74) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) at reactor.core.publisher.MonoCallable.subscribe(MonoCallable.java:48) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete(MonoIgnoreThen.java:292) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext(MonoIgnoreThen.java:187) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:158) at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:293) at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:474) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:122) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2545) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2341) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2215) at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:192) at reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:57) at reactor.core.publisher.MonoZip$ZipCoordinator.request(MonoZip.java:216) at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onSubscribe(MonoIgnoreThen.java:134) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117) at reactor.core.publisher.MonoZip.subscribe(MonoZip.java:125) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:240) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:203) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onComplete(MonoFlatMap.java:189) at reactor.core.publisher.Operators.complete(Operators.java:137) at reactor.core.publisher.MonoZip.subscribe(MonoZip.java:121) at reactor.core.publisher.Mono.subscribe(Mono.java:4495) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263) at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82) at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.innerNext(FluxConcatMapNoPrefetch.java:258) at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:863) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2545) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.request(MonoPeekTerminal.java:139) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.request(Operators.java:2305) at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:338) at reactor.core.publisher.MonoNext$NextSubscriber.request(MonoNext.java:108) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2341) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2215) at reactor.core.publisher.MonoNext$NextSubscriber.onSubscribe(MonoNext.java:70) at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onSubscribe(FluxConcatMapNoPrefetch.java:164) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.Mono.subscribe(Mono.java:4495) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263) at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) at reactor.netty.http.server.HttpServer$HttpServerHandle.onStateChange(HttpServer.java:1052) at reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:710) at reactor.netty.transport.ServerTransport$ChildObserver.onStateChange(ServerTransport.java:481) at reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:650) at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:114) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:238) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1583) 2025-10-13 13:34:08 [reactor-http-nio-5] ERROR c.f.d.controller.WorkflowController - 激活工作流定义失败: test-workflow-001 com.flowable.devops.service.WorkflowServiceException: 激活工作流定义失败: 工作流定义不存在: test-workflow-001 at com.flowable.devops.service.WorkflowService.activate(WorkflowService.java:218) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703) at com.flowable.devops.service.WorkflowService$$SpringCGLIB$$0.activate() at com.flowable.devops.controller.WorkflowController.lambda$activateWorkflow$14(WorkflowController.java:129) at reactor.core.publisher.MonoCallable$MonoCallableSubscription.request(MonoCallable.java:137) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2341) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onSubscribe(FluxOnErrorResume.java:74) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) at reactor.core.publisher.MonoCallable.subscribe(MonoCallable.java:48) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete(MonoIgnoreThen.java:292) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext(MonoIgnoreThen.java:187) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:158) at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:293) at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:474) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:122) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2545) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2341) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2215) at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:192) at reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:57) at reactor.core.publisher.MonoZip$ZipCoordinator.request(MonoZip.java:216) at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onSubscribe(MonoIgnoreThen.java:134) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117) at reactor.core.publisher.MonoZip.subscribe(MonoZip.java:125) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:240) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:203) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onComplete(MonoFlatMap.java:189) at reactor.core.publisher.Operators.complete(Operators.java:137) at reactor.core.publisher.MonoZip.subscribe(MonoZip.java:121) at reactor.core.publisher.Mono.subscribe(Mono.java:4495) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263) at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82) at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.innerNext(FluxConcatMapNoPrefetch.java:258) at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:863) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2545) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.request(MonoPeekTerminal.java:139) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.request(Operators.java:2305) at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:338) at reactor.core.publisher.MonoNext$NextSubscriber.request(MonoNext.java:108) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2341) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2215) at reactor.core.publisher.MonoNext$NextSubscriber.onSubscribe(MonoNext.java:70) at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onSubscribe(FluxConcatMapNoPrefetch.java:164) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.Mono.subscribe(Mono.java:4495) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263) at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) at reactor.netty.http.server.HttpServer$HttpServerHandle.onStateChange(HttpServer.java:1052) at reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:710) at reactor.netty.transport.ServerTransport$ChildObserver.onStateChange(ServerTransport.java:481) at reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:650) at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:114) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:238) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: com.flowable.devops.service.WorkflowNotFoundException: 工作流定义不存在: test-workflow-001 at com.flowable.devops.service.WorkflowService.lambda$getById$0(WorkflowService.java:140) at java.base/java.util.Optional.orElseThrow(Optional.java:403) at com.flowable.devops.service.WorkflowService.getById(WorkflowService.java:140) at com.flowable.devops.service.WorkflowService.activate(WorkflowService.java:204) ... 118 common frames omitted 2025-10-13 13:34:08 [reactor-http-nio-5] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - [440c12d6-4] Completed 400 BAD_REQUEST 2025-10-13 13:35:52 [reactor-http-nio-6] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - [987f294b-5] HTTP GET "/api/workflows" 2025-10-13 13:35:52 [reactor-http-nio-6] DEBUG o.s.w.r.r.m.a.RequestMappingHandlerMapping - [987f294b-5] Mapped to com.flowable.devops.controller.WorkflowController#getWorkflows(String) 2025-10-13 13:35:52 [reactor-http-nio-6] INFO c.f.d.controller.WorkflowController - 获取工作流列表,状态过滤: null 2025-10-13 13:35:52 [reactor-http-nio-6] INFO c.f.d.controller.WorkflowController - 返回 0 个工作流定义 2025-10-13 13:35:52 [reactor-http-nio-6] DEBUG o.s.w.r.r.m.a.ResponseEntityResultHandler - [987f294b-5] Using 'application/json' given [*/*] and supported [application/json, application/*+json, application/x-ndjson, text/event-stream] 2025-10-13 13:35:52 [reactor-http-nio-6] DEBUG o.s.w.r.r.m.a.ResponseEntityResultHandler - [987f294b-5] 0..1 [java.util.List] 2025-10-13 13:35:52 [reactor-http-nio-6] DEBUG org.springframework.web.HttpLogging - [987f294b-5] Encoding [[]] 2025-10-13 13:35:52 [reactor-http-nio-6] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - [987f294b-5] Completed 200 OK 2025-10-13 13:36:08 [reactor-http-nio-7] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - [e148fa05-6] HTTP POST "/api/workflows" 2025-10-13 13:36:08 [reactor-http-nio-7] DEBUG o.s.w.r.r.m.a.RequestMappingHandlerMapping - [e148fa05-6] Mapped to com.flowable.devops.controller.WorkflowController#createWorkflow(WorkflowDefinition) 2025-10-13 13:36:08 [reactor-http-nio-7] DEBUG o.s.w.r.r.m.a.RequestBodyMethodArgumentResolver - [e148fa05-6] Content-Type:application/json 2025-10-13 13:36:08 [reactor-http-nio-7] DEBUG o.s.w.r.r.m.a.RequestBodyMethodArgumentResolver - [e148fa05-6] 0..1 [com.flowable.devops.entity.WorkflowDefinition] 2025-10-13 13:36:08 [reactor-http-nio-7] DEBUG org.springframework.web.HttpLogging - [e148fa05-6] Decoded [WorkflowDefinition(id=test-workflow-001, name=端到端测试工作流, description=用于测试节点间输入输出映射的工作流, definition={" (truncated)...] 2025-10-13 13:36:08 [reactor-http-nio-7] INFO c.f.d.controller.WorkflowController - 创建工作流定义: 端到端测试工作流 2025-10-13 13:36:08 [reactor-http-nio-7] INFO c.f.devops.service.WorkflowService - 创建工作流定义: 端到端测试工作流 2025-10-13 13:36:08 [reactor-http-nio-7] INFO c.f.devops.service.WorkflowService - 工作流定义创建成功: 端到端测试工作流 (ID: test-workflow-001) 2025-10-13 13:36:08 [reactor-http-nio-7] INFO c.f.d.controller.WorkflowController - 工作流定义创建成功: 端到端测试工作流 (ID: test-workflow-001) 2025-10-13 13:36:08 [reactor-http-nio-7] DEBUG o.s.w.r.r.m.a.ResponseEntityResultHandler - [e148fa05-6] Using 'application/json' given [*/*] and supported [application/json, application/*+json, application/x-ndjson, text/event-stream] 2025-10-13 13:36:08 [reactor-http-nio-7] DEBUG o.s.w.r.r.m.a.ResponseEntityResultHandler - [e148fa05-6] 0..1 [com.flowable.devops.entity.WorkflowDefinition] 2025-10-13 13:36:08 [reactor-http-nio-7] DEBUG org.springframework.web.HttpLogging - [e148fa05-6] Encoding [WorkflowDefinition(id=test-workflow-001, name=端到端测试工作流, description=用于测试节点间输入输出映射的工作流, definition={" (truncated)...] 2025-10-13 13:36:08 [reactor-http-nio-7] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - [e148fa05-6] Completed 200 OK 2025-10-13 13:37:41 [reactor-http-nio-8] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - [85de915c-7] HTTP POST "/api/workflows" 2025-10-13 13:37:41 [reactor-http-nio-8] DEBUG o.s.w.r.r.m.a.RequestMappingHandlerMapping - [85de915c-7] Mapped to com.flowable.devops.controller.WorkflowController#createWorkflow(WorkflowDefinition) 2025-10-13 13:37:41 [reactor-http-nio-8] DEBUG o.s.w.r.r.m.a.RequestBodyMethodArgumentResolver - [85de915c-7] Content-Type:application/json 2025-10-13 13:37:41 [reactor-http-nio-8] DEBUG o.s.w.r.r.m.a.RequestBodyMethodArgumentResolver - [85de915c-7] 0..1 [com.flowable.devops.entity.WorkflowDefinition] 2025-10-13 13:37:41 [reactor-http-nio-8] DEBUG org.springframework.web.HttpLogging - [85de915c-7] Decoded [WorkflowDefinition(id=simple-test-001, name=简单端到端测试, description=简单测试工作流, definition={"id":"simple-t (truncated)...] 2025-10-13 13:37:41 [reactor-http-nio-8] INFO c.f.d.controller.WorkflowController - 创建工作流定义: 简单端到端测试 2025-10-13 13:37:41 [reactor-http-nio-8] INFO c.f.devops.service.WorkflowService - 创建工作流定义: 简单端到端测试 2025-10-13 13:37:41 [reactor-http-nio-8] INFO c.f.devops.service.WorkflowService - 工作流定义创建成功: 简单端到端测试 (ID: simple-test-001) 2025-10-13 13:37:41 [reactor-http-nio-8] INFO c.f.d.controller.WorkflowController - 工作流定义创建成功: 简单端到端测试 (ID: simple-test-001) 2025-10-13 13:37:41 [reactor-http-nio-8] DEBUG o.s.w.r.r.m.a.ResponseEntityResultHandler - [85de915c-7] Using 'application/json' given [*/*] and supported [application/json, application/*+json, application/x-ndjson, text/event-stream] 2025-10-13 13:37:41 [reactor-http-nio-8] DEBUG o.s.w.r.r.m.a.ResponseEntityResultHandler - [85de915c-7] 0..1 [com.flowable.devops.entity.WorkflowDefinition] 2025-10-13 13:37:41 [reactor-http-nio-8] DEBUG org.springframework.web.HttpLogging - [85de915c-7] Encoding [WorkflowDefinition(id=simple-test-001, name=简单端到端测试, description=简单测试工作流, definition={"id":"simple-t (truncated)...] 2025-10-13 13:37:41 [reactor-http-nio-8] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - [85de915c-7] Completed 200 OK 2025-10-13 13:38:51 [reactor-http-nio-9] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - [f1ef7a56-8] HTTP POST "/api/workflows" 2025-10-13 13:38:51 [reactor-http-nio-9] DEBUG o.s.w.r.r.m.a.RequestMappingHandlerMapping - [f1ef7a56-8] Mapped to com.flowable.devops.controller.WorkflowController#createWorkflow(WorkflowDefinition) 2025-10-13 13:38:51 [reactor-http-nio-9] DEBUG o.s.w.r.r.m.a.RequestBodyMethodArgumentResolver - [f1ef7a56-8] Content-Type:application/json 2025-10-13 13:38:51 [reactor-http-nio-9] DEBUG o.s.w.r.r.m.a.RequestBodyMethodArgumentResolver - [f1ef7a56-8] 0..1 [com.flowable.devops.entity.WorkflowDefinition] 2025-10-13 13:38:51 [reactor-http-nio-9] DEBUG org.springframework.web.HttpLogging - [f1ef7a56-8] Decoded [WorkflowDefinition(id=debug-test, name=调试测试, description=调试测试工作流, definition={"id":"debug-test","nam (truncated)...] 2025-10-13 13:38:51 [reactor-http-nio-9] INFO c.f.d.controller.WorkflowController - 创建工作流定义: 调试测试 2025-10-13 13:38:51 [reactor-http-nio-9] INFO c.f.devops.service.WorkflowService - 创建工作流定义: 调试测试 2025-10-13 13:38:51 [reactor-http-nio-9] INFO c.f.devops.service.WorkflowService - 工作流定义创建成功: 调试测试 (ID: debug-test) 2025-10-13 13:38:51 [reactor-http-nio-9] INFO c.f.d.controller.WorkflowController - 工作流定义创建成功: 调试测试 (ID: debug-test) 2025-10-13 13:38:51 [reactor-http-nio-9] DEBUG o.s.w.r.r.m.a.ResponseEntityResultHandler - [f1ef7a56-8] Using 'application/json' given [*/*] and supported [application/json, application/*+json, application/x-ndjson, text/event-stream] 2025-10-13 13:38:51 [reactor-http-nio-9] DEBUG o.s.w.r.r.m.a.ResponseEntityResultHandler - [f1ef7a56-8] 0..1 [com.flowable.devops.entity.WorkflowDefinition] 2025-10-13 13:38:51 [reactor-http-nio-9] DEBUG org.springframework.web.HttpLogging - [f1ef7a56-8] Encoding [WorkflowDefinition(id=debug-test, name=调试测试, description=调试测试工作流, definition={"id":"debug-test","nam (truncated)...] 2025-10-13 13:38:51 [reactor-http-nio-9] DEBUG o.s.w.s.a.HttpWebHandlerAdapter - [f1ef7a56-8] Completed 200 OK 2025-10-13 13:47:52 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-13 13:47:52 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - FlowableDevOpsHikariCP - Shutdown initiated... 2025-10-13 13:47:52 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - FlowableDevOpsHikariCP - Shutdown completed.