# mission-processor-boot-starter **Repository Path**: yutonjust/mission-processor-boot-starter ## Basic Information - **Project Name**: mission-processor-boot-starter - **Description**: 任务执行器 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-08-27 - **Last Updated**: 2025-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 Mission Processor Boot Starter ## 📖 项目介绍 Mission Processor Boot Starter 是一个基于Spring Boot的任务处理框架,提供完整的任务生命周期管理能力。它可以帮助开发者快速构建任务驱动的应用程序,统一管理任务的生成、执行和状态流转。 ## 🎯 核心功能 - 🏗️ 任务生成与调度 - 🔄 任务状态自动管理 - ⚙️ 任务处理流程编排 - 📚 任务历史记录 - 🌱 与Spring生态无缝集成 ## 🌍 适用场景 本框架适用于以下典型场景: 1. **📊 工作流引擎**:管理多步骤任务的执行流程 2. **🔢 批处理系统**:处理大批量数据分片任务 3. **⏳ 异步任务队列**:实现可靠的任务队列处理 4. **⏰ 定时任务管理**:协调定时任务的执行和状态跟踪 ## ✨ 主要特点 ✔️ 🎁 开箱即用 - 通过简单的配置即可快速集成 ✔️ 🔧 灵活扩展 - 支持自定义任务类型和处理器 ✔️ 🎛️ 状态可控 - 提供完整的任务状态管理机制 ✔️ 🔄 生命周期完整 - 从生成到完成的全流程支持 ✔️ 👀 监控友好 - 内置任务状态跟踪和历史记录 ## 快速开始 ## 功能特性 - 任务生成接口 - 任务处理接口 - 任务状态管理 - 完整的生命周期管理(开始 → 处理中 → 已完成) - Spring Boot自动配置支持 ## 快速开始 1. 添加依赖到项目中: ```xml com.missionboot mission-processor-boot-starter 1.0.0 ``` 2. 实现任务处理器: ```java // 开始处理器 @Component public class StartProcessor implements MissionProcessor { @Override public String getMissionType() { return "MyMissionType"; } @Override public String getMissionStatus() { return "START"; } @Override public void process(WcsMission missionInfo) { changeMissionStatus(missionInfo.getMissionId(), "PROCESSING"); } } // 处理中处理器 @Component public class ExecProcessor implements MissionProcessor { @Override public String getMissionType() { return "MyMissionType"; } @Override public String getMissionStatus() { return "PROCESSING"; } @Override public void process(WcsMission missionInfo) { // 业务逻辑处理 changeMissionStatus(missionInfo.getMissionId(), "FINISHED"); } } // 完成处理器 @Component public class FinishProcessor implements MissionProcessor { @Override public String getMissionType() { return "MyMissionType"; } @Override public String getMissionStatus() { return "FINISHED"; } @Override public void process(WcsMission missionInfo) { transformToMissionHistory(missionInfo); } } ``` 3. 实现任务生成器: ```java @Component public class MyMissionGenerator implements MissionGenerator { @Override public String type() { return "MyMissionType"; } @Override public Tuple generate(Object source) { // source参数包含任务生成所需的信息 initMission("MyMissionType", "START", "mission-123", 1); return Tuple.tuple("MyMission", true); } } ``` 4. 调用任务生成器生成任务: ```java public void test() { // 获取指定类型的任务生成器 MissionGenerator generator = MissionGeneratorCollector.getGenerator("MyMissionType"); // 生成任务,传入任务生成所需的信息 generator.generate(taskInfo); // taskInfo为任务生成信息对象 // 任务生成后会自动根据状态调用对应的处理器 // START → StartProcessor // PROCESSING → ExecProcessor // FINISHED → FinishProcessor } ``` ## 核心接口 ### MissionGenerator 任务生成器 - `type()`: 返回生成器类型 - `generate(Object source)`: 生成新任务 ### MissionProcessor 任务处理器 - `getMissionType()`: 返回该处理器处理的任务类型 - `getMissionStatus()`: 返回该处理器处理的任务状态 - `process(WcsMission missionInfo)`: 处理任务 ## 状态管理 - `changeMissionStatus(String missionId, String newStatus)`: 更改任务状态 - `transformToMissionHistory(WcsMission missionInfo)`: 将已完成任务转为历史记录 ## 生命周期流程 ```mermaid graph TD A[任务生成 START] --> B[开始处理器] B --> C[状态: PROCESSING] C --> D[执行处理器] D --> E[状态: FINISHED] E --> F[完成处理器] F --> G[任务历史记录] ``` 详细步骤说明: 1. 任务生成,初始状态为`START` 2. 开始处理器将状态改为`PROCESSING` 3. 处理中处理器执行业务逻辑并将状态改为`FINISHED` 4. 完成处理器将任务转为历史记录 ## 示例参考 参考`me.zhengjie.testmiss`包中的完整实现: - `GenMiss`: 任务生成器实现 - `StartProcessor`, `ExecProcessor`, `FinishProcessor`: 任务处理器实现 - `TestEnum`: 任务类型和状态定义