自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 SMAG 智能网关系统

SMAG(smart api gateway, 智能网关系统)是一款智能网关系统。 SMAG开发目的是为了解决“小型互联网企业业务快速发展以及快速增长的用户数量” 与 “企业技术团队能力” 之间的矛盾。 SMAG秉承着简单、高效的原则,让商户(在SMAG平台注册的用户,简称“商户”)能够不改动前后端代码,不修改任意服务器配置的前提下,最快5分钟完成分布式集群搭建。...

2020-04-28 09:13:10 2924

原创 基于mybatis源码,改造JEECG框架源码,实现用户权限管理

本文编写主要目的是为了记录工作中的一些编程思想和细节,以便后来查阅。1. 概述 先来介绍下标题的内容的含义(标题太长,估计很多人也不知道具体讲的是什么,而且JEECG系统不是自带权限管理吗, 还要改造什么?)。 其实, 本文讲述的权限管理框架,是一套简化开发流程的开发框架(是给开发人员用,针对代码层面的),它是基于mybatis的getMapper方法中动态代理的思想,衍生...

2019-09-19 11:58:35 474

原创 基于注解的Activiti工作流 (二)

流程定义篇之前《基于注解的Activiti工作流》讲述了如何搭建项目。今天,我主要讲下如何使用框架定义一个自己的流程。我们以“请假审批”为例,主要请假流程分为 个人申请 -- 小组组长审批 -- 经理审批 --- 系统打印请假单第一步 定义流程信息首先在activiti.biz目录下面,创建一个类,名字叫LeaveRequestProcess,并定义流程信息其中, 使用@A...

2019-08-03 11:03:10 386

原创 基于注解的Activiti工作流(一)

项目地址:https://github.com/wwslzrm/activiti/本项目是基于activit流程思想,开发的一款基于注解方式实现的工作流。(可在线调整工作流执行顺序,无需重新提交Bpmn文件来重新编译工作流)例如 工作流顺序为A-B-C, 可在线调整为A-C-B或A-B-C-B的顺序。备注:以下提到的岗位和节点,都是同一个含义。1. demo演示1.1 执...

2019-07-11 15:07:54 875

原创 前端process-definition框架

前端process-definition框架 版本 作者 时间 描述 V1.0.0 胡绍利 2020年7月1日 ...

2020-08-04 12:50:26 857

原创 支付过程中的设计模式-状态模式(一)

目的本文记录在工作中,使用到的一些设计模式。便于后续开发参考。本文主要介绍支付过程中,使用到的状态模式。支付流程一般支付过程,包括1. 生成待支付订单2. 开始支付3. 等待支付结果(一般都是异步通知的方式)4. 处理结果5. 支付成功/支付失败支付状态因此,在上述支付过程中,支付状态可以分为:初始状态 该状态下,主要完成本地服务器订单创建,并向支付平台发起预支付请求。并由APP(小程序等客户端)发起实际支付操作。若上述操作成功,则将状态转换成待...

2020-07-17 12:37:19 3453

原创 多线程日志追踪

本文编写主要目的是记录工作中的一些编程思想和细节,以便后来查阅。1.问题描述由于项目中设计高并发内容,涉及到一个线程创建多个子线程的情况。 那么,如何跟踪日志,识别子线程是由哪个主线程创建的,属于哪个request请求。例如, 在现有项目中,一个设备信息上传的请求(包括基本数据和异常数据两种数据),然后主线程创建两个子线程,来处理基本数据和异常数据。简化代码如下:public...

2019-10-10 13:12:29 1422

原创 基于springCloud的灰度发布构想

SpringCloud是当前比较主流的分布式微服务框架。 且应用都是通过集群部署的。所以,灰度发布是一种必然的趋势。 新应用上线之后,需要通过灰度测试通过之后,才能正式上线。本文就是基于上述思考, 通过对SpringCloud的组件进行适当封装,实现应用的灰度发布,且对业务代码无浸入。实现过程概述首先,SpringCloud的简单调用过程如下:所有应用向eureka注册...

2019-08-03 12:15:17 218

原创 性能压力测试

本文主要讲述如何通过Jmeter进行简单的压力测试。1. 下载jmeter通过链接https://jmeter.apache.org/download_jmeter.cgi?Preferred=http%3A%2F%2Fmirror.bit.edu.cn%2Fapache%2F点击下载到本地进行解压缩,得到文件夹进入bin文件夹window环境,点击jmeter....

2019-07-29 12:11:01 1122

原创 设计模式 --- 装饰器模式

本文主要讲的是装饰器模式。 主要从什么是装饰器, 以及项目中装饰器模式的具体应用场景等几个方面来讲述。概述官方解释:允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。顾名思义: 装饰器模式, 就是对现有的接口进行装饰, 提供额外的功能。在项目中的应用收费规则接之前提到的责任链模式(https://blog.c...

2019-07-29 11:21:37 88

原创 设计模式 --- 状态模式

本文主要讨论状态模式的内容。 简单讲下状态模式是什么? 项目中状态模式的应用场景。概念官方解释: 状态模式,是一种行为模式,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。顾名思义, 状态模式, 就是说一个对象, 可以有多个状态。 且一个行为的触发, 不同状态存在不同的变化。状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示...

2019-07-29 10:39:16 175

原创 设计模式 -- 责任链模式

今天开始记录我在实际工作中, 对设计模式的应用和理解。本文主要讨论责任链的内容。 简单讲下责任链是什么、项目中的应用场景和实现。概念 首先,责任链,顾名思义就是 一个链表。在这个链表中有多个节点(例如节点A,B,C),他们负责不同的工作, 如果节点A处理不了, 则交给节点B; 如果B处理不了,则交给C;知道找到合适的节点处理请求,或遍历完所有节点。 即责任...

2019-07-26 15:10:48 247

原创 IDEA代码覆盖率测试

代码覆盖率测试1.使用idea自带的代码覆盖率工具(1)创建test文档右击将“test”目录设置为测试文档(2)选中需要测试的类,按Ctrl+shift+T 创建测试类并选中要测试的方法在测试案例中,编写测试代码点击Edit Configuration选中测试类点击“run MyClassTest2 with coverage”选...

2019-07-26 12:24:50 13133

原创 应用接入apollo

2019-07-26 12:12:43 206

原创 Apollo部署

携程大神的讲座视频地址:http://www.itdks.com/Course/detail?id=3420&from=search下载应用从github上下载应用:https://github.com/nobodyiam/apollo-build-scripts增加apollo配置必须的数据库的表在应用SQL目录下,执行apolloconfigdb.sql...

2019-07-26 12:09:27 138

原创 JAVA WEB 基于不同环境(测试,生产)实现配置隔离

本文是基于JEECG项目, 进行基于不同环境实现配置隔离,以下所有操作都是基于JEECG框架, 但同样适用于基于spring的JAVA WEB 项目。前言按照传统JEECG等JAVA WEB项目, 所有配置信息(例如数据库连接的配置信息)不能根据环境进行隔离。假设有一个项目从测试环境, 上线到生产环境,需要修改如数据库连接等配置操作。一定程度加大了部署成本和人工操作导致的部署失败风...

2019-07-26 10:57:46 1632

原创 JSP内置对象总结

在JSP中,内置对象又称隐藏对象,指在不声明的情况下就可以被使用的一些成员变量。JSP中一共有9种内置对象:1. request:客户端请求,次请求包含来自GET/POST请求参数。客户端的请求信息被封装到request对象中。2. responseu的其他对象,用来表示服务器端对客户端的相应,将WEB服务器处理后的结果返回给客户端。但在jsp中很少使用它3. pageCont

2016-11-30 18:17:52 470

原创 Structs个人适用知识整理

structs主要模块由过滤器,拦截器,structs核心模块以及用户功能模块组成。1. 一个客户端向服务器发送httpservletRequst请求时,例如发送http://localhost:8080/login.action请求,提交到服务器2. 请求通过一系列的过滤器,例如ActionContextCleanUp-->OtherFilter--> DispatcherFilter,

2016-11-24 21:56:23 494

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除