您现在的位置是:首页 > 文章详情

java 后端事件领域模型框架 kaka 更新至 2.0.0

日期:2020-03-06点击:486

kaka是一款服务于java后端的事件领域模型框架,主要目的为解耦业务、 简化程序复杂性、提高代码可读性和降低开发维护成本。

本次更新内容如下:

  1. aop删除不必要的Class及其相关类名、包名的映射缓存,增加运行时动态Aop能力。
  2. 将Facade中包含regist文本的方法,全部更改为register;优化Facade中Mediator注册。
  3. Facade实例获取由原来的单例改为工厂模式,可继承Facade自定义Queue实现或者Quatrz(或其它)的定时调度。
     QuartzFacade facade = FacadeFactory.config(QuartzFacade.class); //注册自定义Facade子类,全局注册一次 //后面任何地方可使用如下语句获得Facade对象进行事件分发 QuartzFacade facade = FacadeFactory.getFacade(); //QuartzFacade 在本框架中未做具体实现,仅作为参考范例

     

  4. 额外增加基于Excel数值配置表(预先转换为制表符分割单元格的纯文本,也可自定义格式并做相应实现)的解析处理功能
     //TextNumericConfig为抽象类,主要有如下抽象方法: // String initDelimiter() 初始化单元格数据的分割符 // void cacheObject(T info) 缓存一行数值数据 T // void parseBefore() 解析前的处理 // void parseAfter() 解析后的处理 //范例如下: /** * 自定义数值数据管理器,每行数据将自动转换为ConfPlaceInfo对象。 */ @Numeric(src = "conf_place.txt") public class ConfPlaceInfoManager extends TextNumericConfig<ConfPlaceInfo> { private final Map<Integer, ConfPlaceInfo> map = new ConcurrentHashMap<>(); private final List<ConfPlaceInfo> list = new CopyOnWriteArrayList<>(); @Override protected String initDelimiter() { return "\t"; } @Override protected void cacheObject(ConfPlaceInfo info) { if (info.getMaxGold() < 0) { info.setMaxGold(Integer.MAX_VALUE); } map.put(info.getId(), info); list.add(info); } @Override protected void parseBefore() { map.clear(); list.clear(); } @Override protected void parseAfter() { } public ConfPlaceInfo getConfPlaceInfo(int id) { if (id <= 0) id = 1; return this.map.get(id); } } TextNumericConfig numericConfig = facade.retrieveProxy(file.getName()); //fileName为Numeric注解配置的src参数 numericConfig.parse(is, "UTF-8", 1); //is为数值配置文件输入流

     

参考消息:https://gitee.com/zkpursuit/kaka-notice-lib

原文链接:https://www.oschina.net/news/113877/kaka-2-0-0-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章