spring boot动态调整线上日志级别

spring boot动态调整线上日志级别

前言碎语 日志模块是每个项目中必须的,用来记录程序运行中的相关信息。一般在开发环境下使用DEBUG级别的日志输出,为了方便查看问题,而在线上一般都使用INFO级别的日志,主要记录业务操作的日志。那么问题来了,当线上环境出现问题希望输出DEBUG日志信息辅助排查的时候怎么办呢?修改配置文件,重新打包然后上传重启线上环境,之前确实是这么做的。下面会介绍使用动态调...

阅读全文 »

记spring boot快速改造老项目

记spring boot快速改造老项目

前言碎语 博主公司一个项目在开发中使用某些功能的时候,受限于spring低版本的限制,故索性将整个模块升级为spring boot,在这里做个记录,希望能帮助到有相同场景的朋友。整个改造过程非常简单,耗时大概在2个小时左右,主要解决项目中的各种版本冲突,不过下面我会介绍一个神器。 老项目情况 1.项目使用spring-context作为容器,使用RabbitMQ提供Rpc服务 2.spring.springframework 版本比较...

阅读全文 »

spring boot集成WebSocket实时输出日志到web页面

spring boot集成WebSocket实时输出日志到web页面

前言碎语 今天来做个有趣的东西,就是实时将系统日志输出的前端web页面,因为是实时输出,所有第一时间就想到了使用webSocket,而且在spring boot中,使用websocket超级方便,阅读本文,你会接触到以下关键词相关技术,WebSocket(stopmp服务端),stomp协议,sockjs.min.js,stomp.min.js(stomp客户端),本文使用到的其实就是使用spring boot自带的webSocket模块提供stomp的服务端,前端使用stomp.min.js做sto...

阅读全文 »

springMvc DeferredResult的long polling应用

1.了解servlet以及spring mvc中的异步? Spring MVC 3.2开始引入了基于Servlet 3的异步请求处理。相比以前,控制器方法已经不一定需要返回一个值,而是可以返回一个java.util.concurrent.Callable的对象,并通过Spring MVC所管理的线程来产生返回值。与此同时,Servlet容器的主线程则可以退出并释放其资源了,同时也允许容器去处理其他的请求。通过一个TaskExecutor,Spring MVC可以在另外的线程中调用Callabl...

阅读全文 »

spring boot集成redisson的最佳实践

spring boot集成redisson的最佳实践

前言碎语 redisson是redis的java客户端程序,使用度比较广,在和spring的集成中官方给出的实例也是比较多,比较方便,具体可查看我之前的一篇博文 《spring集成redis客户端jedis以及redisson 》 ,可以提供yaml,json配置文件来实例化redissonClient,如果我们的程序是spring boot,一般都是使用application.properties来配置我们应用配置参数,如何使用application.properties的方式配置redisson呢,请看下文? 1....

阅读全文 »

Feign-声明式java Http客户端

什么是Feign? Feign : Declarative REST clients。 Feign 是Netfilx开源的一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Feign还支持可插拔的编码器与解码器,Spring Cloud 增加了对 Spring MVC的注解,Spring Web 默认使用了HttpMessageConverters, Spring Cloud 集成 Ribbon 和 Eureka 提供的负载均衡的HTTP客户端 Feign Fei...

阅读全文 »

spring boot整合mongo查询抛converter的异常

spring boot整合mongo查询抛converter的异常

前言碎语 使用过spring boot的人都知道spring boot约定优于配置的理念给我们开发中集成相关技术框架提供了很多的便利,集成mongo也是相当的简单,但是通过约定的配置信息来集成mongo有些问题。当你的字段包含 Timestamp这种类型时,读取数据的时候会抛一个类型转换的异常,如 No converter found capable of converting from type [java.util.Date] to type [java.sql.Timestamp],是因为,mongo本身时间类型为Date,在...

阅读全文 »