摘要: 问题现象: 一个批处理发货系统,前几天商家反馈提交批处理文件后,一直处于处理中状态。 排查的过程中,商家的问题不断的报过来,发现一台机器上所有批处理请求全部失败。我们立刻隔离了有问题的机器开始开始排查原因。 排查过程: 查看处理中的任务日志里面没有任何异常报错,服务器的指标(cpu、内存、io等等) 阅读全文
posted @ 2019-12-26 11:57 Over_Watch 阅读(3782) 评论(0) 推荐(0) 编辑
摘要: 开发过程中领域专家、设计人员、开发人员一起沟通交流,建立领域模型,由于我们每个人掌握的知识、思考方式不一样,每个人都有自己的看法,没有通用语言会很难沟通达成共识。 通用语言的要求: 发现领域内的概念、术语,形成术语表,给出英文术语,基于统一语言进行沟通交流。 领域驱动设计的核心原则之一就是基于模型的 阅读全文
posted @ 2019-08-22 22:48 Over_Watch 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 上下文组织和集成模式的定义 合作关系: 如果两个限界上下文的团队要么一起成功,要么一起失败,那么他们就需要建立起合作关系。两个团队应该在接口的演化上进行合作以同时满足两个系统的需求。应该为相互关联的的软件功能制订好计划表,这样可以确保这些功能在同一个发布中完成。 共享内核: 对模型和代码的共享将产生 阅读全文
posted @ 2019-08-22 22:33 Over_Watch 阅读(496) 评论(0) 推荐(0) 编辑
摘要: 领域事件: 领域专家所关心的在领域中的一些事件。 将领域中所发生的活动建模城一系列的离散事件。每个事件都用领域对象来表示。 领域事件是领域模型的组成部分,表示领域中所发生的事情。 重要的事件肯定会在系统其他地方引起反应,因此理解为什么会有这些反应同样也很重要。 Martin Fowler 一个领域事 阅读全文
posted @ 2019-08-22 21:49 Over_Watch 阅读(3925) 评论(0) 推荐(0) 编辑
摘要: 领域: 引用一个大佬的总结:“领域是相似度很高的 N 个实体聚集,从而组成的知识、影响或活动范围”。 另一个大佬的总结:“你的软件系统要解决的实际问题相关的所有东西的集合”。 针对需求出发,进行划分实体,对实体进行分类,座钟的到领域。 从需求中挖掘通用语言,从通用语言中抽象出实体。 多个职责相近的实 阅读全文
posted @ 2019-08-12 20:52 Over_Watch 阅读(963) 评论(0) 推荐(0) 编辑
摘要: 定义: 实体不仅需要知道它是什么,还要知道它是哪个,值对象只关心它是什么。 实体:许多对象不是由它们的属性来定义,而是通过一系列的连续性和标识来从根本定义的。只要一个对象在生命周期中能够保持连续性,并且独立于它的属性(即使这些属性对系统用户非常重要),那它就是一个实体。 值对象:当你只关心某个对象的 阅读全文
posted @ 2019-07-29 20:49 Over_Watch 阅读(2783) 评论(0) 推荐(0) 编辑
摘要: spring 动态代理有jdk和Cglib两种方式,具体选择是在DefaultAopProxyFactory这个类里面进行选择的。 如果AOP使用显式优化,或者配置了目标类,或者只使用Spring支持的代理接口执行第一个分支,否则使用JDK动态代理。第一个分支如果代理类是接口或者可以被JDK动态代理 阅读全文
posted @ 2019-03-19 14:26 Over_Watch 阅读(1719) 评论(0) 推荐(1) 编辑
摘要: ConfigurationClassPostProcessor实现了生成BeanDefinition的功能。 核心方法processConfigBeanDefinitions 上面代码可以看出ComponentScanAnnotationParser的basePackages是从启动类获取的包名。 阅读全文
posted @ 2019-03-18 16:36 Over_Watch 阅读(607) 评论(0) 推荐(0) 编辑
摘要: 上下文刷新结束后,可以实现ApplicationRunner或者CommandLineRunner接口来实现上下文成功初始化后的一些操作。 最终调用 通知所有监听器,上下文初始化结束。 applicationrunner commandlinerunner两种runner除了参数类型不一样,其他的没 阅读全文
posted @ 2019-03-18 14:32 Over_Watch 阅读(489) 评论(0) 推荐(0) 编辑
摘要: 准备阶段 准备阶段会把加载好的environment放到context里面,应用之前加载好的Initializers,EventPublishingRunListener发布上下文准备好的事件,注册springApplicationArguments和springBootBanner(注册单例用的下 阅读全文
posted @ 2019-03-18 14:09 Over_Watch 阅读(1282) 评论(0) 推荐(0) 编辑