# sim-behavior-core-kernel **Repository Path**: sim-behavior/sim-behavior-core-kernel ## Basic Information - **Project Name**: sim-behavior-core-kernel - **Description**: 行为节点调度 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-13 - **Last Updated**: 2026-04-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # sim-behavior-core-kernel ## 项目简介 sim-behavior-core-kernel是仿真系统行为节点的核心内核,采用Java语言开发,作为整个行为节点体系的底层运行底座,专注于行为节点的标准化抽象、属性参数管理、发布订阅中枢与核心调度,无Web依赖,可嵌入式集成到仿真主程序中,为sim-behavior-groovy-engine(脚本引擎)、sim-behavior-message-bus(消息总线)、sim-behavior-admin-web(管理平台)提供标准调用接口,支撑整个行为节点体系的稳定运行。 ## 核心功能 1. **节点标准化管理**:定义统一行为节点接口、状态枚举与抽象基类,管控节点全生命周期 2. **属性参数管理**:支持行为节点动态属性定义、注册、校验、热更新,兼容YAML/JSON双格式配置 3. **发布订阅中枢**:提供消息收发、订阅管理能力,预留消息总线适配接口,实现节点间通信解耦 4. **核心调度引擎**:支持仿真节拍调度、多节点并行调度,具备异常熔断、故障隔离能力 5. **多模块适配**:提供标准SPI接口,适配脚本引擎、消息总线与管理平台的调用需求 ## 技术栈 - Java 8+ - Spring Core - Maven - Junit 5 ## 项目结构 src/main/java/com/sim/behavior/core/kernel ├── api/ # 抽象接口与SPI扩展接口(适配其他仓库) ├── core/ # 核心功能实现 │ ├── property/ # 属性参数管理(配置解析、热加载) │ ├── message/ # 发布订阅中枢(消息收发管理) │ ├── schedule/ # 调度引擎(节点生命周期管控) │ ├── adapter/ # 适配层(对接脚本引擎、消息总线) ├── config/ # 框架配置类 ├── exception/ # 全局异常处理 ├── util/ # 工具类 ├── constant/ # 核心常量 src/test/java # 单元测试 ## 环境要求 - JDK 8及以上 - Maven 3.6及以上 ## 编译与安装 1. 克隆仓库至本地 2. 执行Maven打包命令:`mvn clean install -DskipTests` 3. 打包完成后,可作为依赖引入其他三个关联仓库(groovy-engine、message-bus、admin-web) ## 依赖引入 在其他关联仓库pom.xml中添加以下依赖: com.sim.behavior sim-behavior-core-kernel 1.0.0 ## 快速使用 1. 继承抽象行为节点基类`AbstractBehaviorNode`,实现自定义节点逻辑 2. 通过属性参数模块配置节点参数,支持热更新 3. 注册节点至调度引擎,配置消息订阅/发布规则 4. 调用调度引擎启动节点运行,对接脚本引擎执行业务逻辑、消息总线实现通信 ## 注意事项 1. 本仓库为底层内核,无Web服务,不可单独启动,需配合其他关联仓库使用 2. 集成时需保证JDK版本兼容,避免依赖冲突 3. 调度线程池参数可根据仿真系统性能需求自行调整 4. 禁止修改核心接口定义,如需扩展功能,通过SPI接口实现 ## 版本管理 - 当前版本:1.0.0 - 版本迭代:遵循语义化版本规范,修复bug更新修订号,新增功能更新次版本号,架构重构更新主版本号 - 兼容要求:需与sim-behavior-groovy-engine、sim-behavior-message-bus、sim-behavior-admin-web保持版本一致