应用框架
文章平均质量分 65
1黄鹰
这个作者很懒,什么都没留下…
展开
-
SpringMVC Json自定义序列化和反序列化
需求背景需求一:SpringMVC构建的微服务系统,数据库对日期的存储是Long类型的时间戳,前端之前是默认使用Long类型时间,现在前端框架改动,要求后端响应数据时,Long类型的时间自动变成标准时间格式(yyyy-MM-dd HH:mm:ss)。涉及到这个转换的范围挺大,所有的实体表都有创建时间createTime和修改时间updateTime,目前的主要诉求也是针对这两个字段,并且在实体详情数据和列表数据都存在,需要一个统一的方法,对这两个字段进行处理。需求二:前端请求上传的JSON报文,Str原创 2021-01-28 10:45:48 · 1768 阅读 · 1 评论 -
SpringMVC日期格式属性自动转成时间戳实现源码分析
背景介绍SpringMVC搭建的微服务系统,后端数据库对时间类型的存储使用的是Long类型,而前端框架倾向于使用yyyy-MM-dd HH:mm:ss这种标准显示格式,前端JSON格式的请求报文与后台的接口交互都需要进行格式转换,这部分转换功能由后台实现。使用时我们发现,前端定义的JSON请求,时间格式为yyyy-MM-dd HH:mm:ss,如果后台定义的POJO相应的属性为Long类型,可以自动转换为时间戳,对此非常好奇,框架是如何实现这一功能的?框架选型、版本及主要功能spring boot原创 2020-08-11 08:01:04 · 1028 阅读 · 0 评论 -
spring-cloud-gateway聚合swagger文档
需求背景spring cloud搭建微服务系统,每个业务模块使用swagger开放文档接口查询,在业务网关模块提供swagger文档聚合查询接口,可以通过选择业务模块分类查看。框架选型、版本及主要功能spring boot 2.1.6.RELEASEspring cloud Greenwich.SR3spring cloud gateway 2.1.3.RELEASE 网关组件knife4j 2.0.1 增强swagger ui样式,网关使用其starter依赖swagger bootstr原创 2020-08-09 08:27:13 · 989 阅读 · 1 评论 -
基于SpringCloud的enum枚举值国际化处理实践
背景选用SpringCloud框架搭建微服务做业务后台应用时,会涉及到大量的业务状态值定义,一般常规做法是:持久层(数据库)存储int类型的值后台系统里用阅读性好一点儿的常量将int类型的值做一层映射前端(app或浏览器)同样定义一套常量去映射这些关系前端调用后台系统的接口时,使用常量定义的int类型进行提交源于持久层存储的优化规则,int类型要比varchar类型效率高很多,这套做法也是大家接受度非常高的。只是这里有一个不是很方便的地方:状态值映射的常量定义涉及前端和后台两部分,沟通的成原创 2020-07-31 21:43:47 · 2206 阅读 · 0 评论 -
源码剖析@ApiImplicitParam对@RequestParam的required属性的侵入性
问题起源使用SpringCloud构建项目时,使用Swagger生成相应的接口文档是推荐的选项,Swagger能够提供页面访问,直接在网页上调试后端系统的接口, 非常方便。最近却遇到了一个有点困惑的问题,演示接口示例如下(原有功能接口带有业务实现逻辑,这里简化了接口):/** * @description: 演示类 * @author: Huang Ying **/@Api(tags = "演示类")@RestController@Slf4jpublic class DemoControl原创 2020-07-09 07:22:55 · 3234 阅读 · 0 评论 -
实战SpringCloud通用请求字段拦截处理
背景以SpringCloud构建的微服务系统为例,使用前后端分离的架构,每个系统都会提供一些通用的请求参数,例如移动端的系统版本信息、IMEI信息,Web端的IP信息,浏览器版本信息等,这些参数可能放在header里,也可以放在参数里,如果这些参数需要在每个方法内声明定义,一来工作量太大,二是这些通用参数与业务接口方法耦合过紧,本身就是一个不好的设计。这个问题该如何优雅地解决呢?最佳实践实现思路利用SpringMVC提供拦截器,对匹配的请求,抽取通用的header信息(假设通用字段全部放在hea原创 2020-07-08 07:24:35 · 478 阅读 · 0 评论 -
RocketMQ事务消息学习及刨坑过程
一、背景MQ组件是系统架构里必不可少的一门利器,设计层面可以降低系统耦合度,高并发场景又可以起到削峰填谷的作用,从单体应用到集群部署方案,再到现在的微服务架构,MQ凭借其优秀的性能和高可靠性,得到了广泛的认可。随着数据量增多,系统压力变大,开始出现这种现象:数据库已经更新了,但消息没发出来,或者消息先发了,但后来数据库更新失败了,结果研发童鞋各种数据修复,这种生产问题出现的概率不大,但让人很郁闷...原创 2019-10-19 08:44:39 · 1137 阅读 · 0 评论 -
使用Spring-boot-starter标准改造项目内的RocketMQ客户端组件
一、背景介绍我们在使用Spring Cloud全家桶构建微服务应用时,经常能看到spring-boot-xxx-starter的依赖,像spring-boot-starter-web、spring-cloud-starter-feign、spring-boot-starter-test、mybatis-spring-boot-starter,仿佛只要带上starter的东西,你就拥有了这个组件的...原创 2019-10-18 07:21:09 · 825 阅读 · 0 评论 -
ActiveMQ SSL应用之三 ActiveMQ开启SSL连接器配置
AcitveMQ通过修改配置文件,开启SSL连接器原创 2016-10-16 21:41:14 · 7902 阅读 · 0 评论 -
ActiveMQ SSL应用之一 整体介绍
ActiveMQ如何学习SSL应用的整体思路,涵盖了SSL服务端的修改和客户端的操作,包括项目中结合Spring框架的应用场景,以及常用Web容器环境下的应用场景,最后是实际生产环境运维中,开启SSL对ActiveMQ管理页面常用操作是否会产生影响的验证。原创 2016-10-16 21:23:14 · 1940 阅读 · 2 评论 -
ActiveMQ SSL应用之二 使用keytool工具生成密钥和证书文件
使用java自带的keytool工具生成RSA的密钥、证书文件原创 2016-10-16 21:31:09 · 4968 阅读 · 2 评论 -
ActiveMQ SSL应用之四 编写Java Demo类使用SSL连接ActiveMQ
在Eclipse平台编写Java Demo类使用SSL连接ActiveMQ,并进行简单的报文发送,接收,并使用wireshark抓包工具对报文进行抓取分析原创 2016-10-16 21:46:59 · 3833 阅读 · 0 评论 -
ActiveMQ SSL应用之五 Spring+ActiveMQ开启SSL连接
实际项目经常使用到Spring框架,本篇主要介绍在Spring框架背景下,如何开启SSL连接ActiveMQ。原创 2016-10-16 21:51:00 · 3543 阅读 · 2 评论 -
ActiveMQ SSL应用之六 Tomcat、Jboss部署项目使用SSL连接ActiveMQ
Tomcat或Jboss容器环境的项目使用SSL连接ActiveMQ原创 2016-10-16 21:53:27 · 1195 阅读 · 0 评论 -
ActiveMQ SSL应用之七 ActiveMQ管理控制台队列Send To功能的使用
应用程序使用SSL连接ActiveMQ后,ActiveMQ控制台自带的Send To功能的使用方法,以及运维过程中该功能的作用。原创 2016-10-16 21:57:57 · 6261 阅读 · 2 评论 -
Linux服务器重启后JBoss和ActiveMQ无法正常启动故障解决
一、问题描述 Linux服务器重启后,发现原本能正常启动的Jboss实例和ActiveMQ实例都无法正常启动了,Jboss报错如下:java.net.MalformedURLException: Local host name unknown: java.net.UnknowstException: hy-192.168.1.103: hy-192.168.1.103: unk...原创 2019-05-03 07:30:54 · 514 阅读 · 0 评论 -
Quartz框架多个trigger任务执行出现漏执行的问题分析
使用Quartz配置定时任务,配置了超过10个定时任务,这些定时任务配置的触发时间都是5分钟执行一次,实际运行时,发现总有几个定时任务不能执行到。本篇重点讲解了该现象的本质原因和解决方案原创 2016-05-21 15:47:53 · 15778 阅读 · 7 评论 -
Linux Jboss下logback日志框架的输出日志只保留10天的问题
操作系统为Linux CentOS 6.5 64bit,Jboss为4.3.0 GA版本,logback版本为1.1.2,maxHistory配置为180天,但/tmp/logs的日志文件只保留10天,原因是tmpwatch调度任务把10天前的日志删除了。原创 2016-09-07 22:08:26 · 5558 阅读 · 0 评论 -
Quartz 框架 教程(中文版)2.2.x 之第四课 更多关于Triggers
原文地址:http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-03翻译 2014-04-27 10:40:10 · 2268 阅读 · 3 评论 -
Quartz 框架 教程(中文版)2.2.x 之第六课 CronTrigger
原文地址:http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-06 第六课 CronTriggerCronTrigger比SimpleTrigger更常用,当你需要一个基于日历般概念的作业调度器,而不是像SimpleTrigger那样精确指定间隔时间。使用Simpl翻译 2014-04-27 11:14:51 · 2686 阅读 · 3 评论 -
Quartz 框架 教程(中文版)2.2.x 之第七课 触发监听器和作业任务监听器
原文地址:http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-07翻译 2014-04-27 11:23:39 · 2424 阅读 · 3 评论 -
Quartz 框架 教程(中文版)2.2.x 之第八课 调度监听器
原文地址:http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-08 第八课 调度监听器调度监听器和触发监听器和触发监听器、作业任务监听器非常相似,只是调度监听器在调度器内接收通知事件,而不需要关联具体的触发器或作业任务事件。跟调度监听器相关的事件,添加作业任务/触发翻译 2014-04-27 11:28:14 · 2278 阅读 · 2 评论 -
Quartz 框架 教程(中文版)2.2.x 之第九课 JobStores
第九课 JobStores翻译 2014-04-27 11:38:49 · 3311 阅读 · 2 评论 -
Quartz 框架 教程(中文版)2.2.x 之第十课:Configuration,Resource Usage和SchedulerFactory
原文地址:http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-10 第十课:Configuration,Resource Usage和SchedulerFactory翻译 2014-04-27 11:45:07 · 1694 阅读 · 2 评论 -
Quartz 框架 教程(中文版)2.2.x 之第十二课:Quartz其他特性
原文地址:http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-11翻译 2014-04-27 12:06:11 · 1687 阅读 · 4 评论 -
Quartz 框架 教程(中文版)2.2.x 之第二课 Quartz API,Jobs和Triggers简介
原文地址:http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-01翻译 2014-04-27 10:02:05 · 5883 阅读 · 2 评论 -
Quartz 框架 教程(中文版)2.2.x 之第十一课:高级(企业级)特性
原文地址:http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-11翻译 2014-04-27 11:53:27 · 2257 阅读 · 4 评论 -
Quartz 框架 教程(中文版)2.2.x 之第三课 更多关于Jobs和JobDetails
第三课 更多关于Jobs和JobDetails翻译 2014-04-27 10:27:26 · 2750 阅读 · 3 评论 -
Quartz 框架 教程(中文版)2.2.x 之第五课 SimpleTrigger
原文地址:http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-05 第五课 SimpleTrigger翻译 2014-04-27 10:55:04 · 2590 阅读 · 2 评论 -
Junit4 简单教程
一、环境搭建 对于习惯使用Eclipse开发平台来说,Junit早已是原创 2014-06-07 11:02:53 · 2396 阅读 · 2 评论 -
Hibernate的catalog导致数据库连接与实际操作的库不一致
一、问题描述 1、Java项目工程下数据库连接地址信息,与实际操作的数据库不符合,即select是指定的数据库,insert的记录又去别的库了。 2、新增mysql用户,navicate能连,但java eclipse环境不让查询,说是没有权限。二、问题分析 这是hibernate的catalog导致的错误 例如:catalog指定了数据库名为Test,并且该服务器的数据库中Test数据库仍原创 2015-12-09 22:09:54 · 1687 阅读 · 0 评论 -
JBoss调用Webservice出现org.jboss.ws.core.jaxws.spi.ProviderImple not found错误
Linux CentOS 6.5 64bit,JDK1.7 ,JBoss 4.3.0-GA环境作为客户端调用Webservice服务出错原创 2016-05-12 20:34:33 · 3353 阅读 · 0 评论 -
SSH集成CXF项目启动时出现告警日志
spring 4.1.3.RELEASE + cxf 2.5.0框架,在项目启动时出现一大堆告警日志,虽然不影响项目正常运行,但看着很刺眼,所以要想办法清除掉。原创 2016-07-13 22:03:40 · 4207 阅读 · 0 评论 -
Quartz 框架 教程(中文版)2.2.x 之第一课 开始使用Quartz框架
原文地址:http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-01 第一课:开始使用Quartz框架在你使用调度器之前,需要借助一些具体的例子去理解(谁愿意只是猜啊?)。你可以使用SchedulerFactory类来达到程序调度的目的。有一些Quartz框架的用户可能会翻译 2014-04-27 09:50:53 · 3530 阅读 · 7 评论