condition-route
本页由项目自动归档生成,源码与最新进展以 GitHub 仓库为准。
项目简介
Java 条件路由等价性检测库:以一组 Condition(position/key/type/value)建模单条路由条件,将多条 Condition 组合成 ConditionRoute,用于检测一组条件路由中是否存在语义等价(条件集合相同、忽略顺序)的重复路由。典型场景是网关 / 路由配置校验——在发布前向配置中发现冗余或冲突。纯 Java 实现,核心类零第三方依赖,配套 JUnit 5 单元测试。
技术栈
| 维度 | 技术 |
|---|---|
| 主要语言/框架 | Java(核心类零依赖,建议 JDK 8+) |
| 测试框架 | JUnit 5(Jupiter) |
| 构建方式 | 无构建工具,纯源码;可临时托管进 Maven / Gradle 运行测试 |
| 数据存储 | 无(内存对象 + 集合比较) |
核心功能 / 亮点
- 条件模型
Condition:position/key/type/value四元组,重写equals/hashCode以支持集合级比较(Condition.java) - 条件路由
ConditionRoute:isEquivalent两两等价判定(先比长度快速失败,再装入HashSet无序比较);hasEquivalentRoutes列表级 O(n²) 检测是否存在任意一对等价路由(ConditionRoute.java) - JUnit 5 单元测试覆盖 9 个用例:相同条件、不同顺序、不同条件、不同长度、空列表、单路由、null、多路由含一对等价、空条件(
ConditionRouteTest.java)
目录结构
1 | condition-route/ |
相关链接
- GitHub 仓库:condition-route