公共工具包 设计初衷为解决代码复用问题,其中最具特色的工具为cloud.agileframework.common.util.object.ObjectUtil中的对象深度转换能力,方法为ObjectUtil.to 该能力是Agile系列框架高代码复用率的根本所在。其大量应用于请求参数解析、验证、持久层查询结果转换等功能当中,是目前开源项目中独树一帜的功能,其能够完成n层对象嵌套、 集合类型嵌套、模糊识别(如驼峰、下划线风格属性互转)、逗号分隔字符串转集合、日期字符串分析、注解别名、识别set、get、复杂属性拷贝等能力。
动态sql解析器 设计初衷是为JPA规范下持久层框架提供类似于MyBatis一样的动态sql处理能力,该组件在Alibaba Druid的SQL语法解析能力基础上,增加了根据调用参数动态 判断剔除语法段能力
Agile系列框架-缓存组件 缓存切换 切换方式与spring boot cache切换方式一致,均使用元数据spring.cache.type进行配置,当不存在该配置情况下,默认使用内存介质 统一操作方式 解析器通过提供CacheUtil、AgileCache,屏蔽掉各类型缓存介质的操作差异,以最简单的形式提供开发者开箱即用的缓存操作 缓存过期 支持存储过程中直接设置缓存过期时间 分布式/集群锁 当缓存介质为redis时,通过CacheUtil或AgileCache的lock与unlock提供锁操作 集合数据操作 CacheUtil、AgileCache针对不同存储介质提供一致性的集合数据操作API,参考快速入门 支持Hibernate二级缓存 提供EhCache与Redis作为Hibernate二级缓存介质,并提供元数据形式的EhCache缓存配置方式。并且确保spring与hibernate二级缓存共享缓存管理器CacheManager 支持缓存介质扩展 默认提供内存、EhCache、Redis三种缓存介质,开发人员可以根据实际需求,自行实现抽象类AgileCache
字典解析器 启动自动加载 集成该组件后,字典数据加载将伴随spring应用启动,将持久层字典数据加载如缓存,以便提高缓存查询性能 缓存同步 集成缓存组件agile-cache可实现缓存方式切换spring.cache.type,如redis、ehcache、memory等方式,缓存使用请参照缓存组件https://gitee.com/agile-framework/agile-cache 复杂翻译 通过提供工具类cloud.agileframework.dictionary.util.DictionaryUtil,实现诸多复杂字典翻译方式,如字典码与字典值相互转换,根据父子字典信息翻译、全路径字典值/码翻译、字典注解解析 集合数据字典翻译、自定义字典分隔符、指定默认值等等一系列工具 字典注解 用于pojo类属性上添加cloud.agileframework.dictionary.annotation.Dictionary字典注解,通过DictionaryUtil.cover方法或内嵌至持久层组件中,实现无感翻译。 agile-jpa组件中已集成该组件实现无感翻译。 自定义字典
任务调度组件 持久化定时任务 任务数据支持直接落入数据库,防止重启数据丢失,持久化防止支持自定义扩展 通过实现接口cloud.agileframework.task.TaskService,可以自定义持久化方式, 如落入MySQL、Redis、Oracle等。默认持久化方式为内存形式,内存形式不支持重启。 启动加载 程序伴随spring应用启动时自动加载定时任务数据,无需人工干预 动态修改 在程序运行过程中,支持通过restful api或自定义程序调用,动态添加、修改、删除定时任务 且不需要重启服务 周期时间任务 支持spring cron表达式形式的周期性定时任务 固定时间点任务 支持以时间戳为表达式的固定时间点任务,如仅需要执行一次的定时任务。 多表达式 支持在一个定时任务中,输入多个固定或周期任务表达式,以英文分号分隔,则任务将同时识别 多表达式,针对同一个任务,避免了按不同周期或时间点创建多个任务定义的繁琐操作,也便于维护。 任务冲突 任务冲突分应用级别冲突与表达式级别冲突: 应用级别冲突指在分布式或集群中,相同任务,在同
Contributions last year: 0
Max continuous contributions: 0
Recent contributions: 0
Commits, issues, and pull requests will appear on your contribution graph. Only when the email address used for the commits in local configuration is associated with your GitOSC account, the commits' contribution will be counted.