作者:vivo互联网服务器团队-Xiongyangxin将某个通用解决方案包装成成熟的工具包,是每一个技术建设工作者必须思考且必须解决的问题。本文从业内流行的既有工具包入手,解析实现思路,沉淀一般方法。为技术建设的初学者提供一些实践思路的参考。尤其是文中提倡的“去中心化”的协作模式,和“关键链路+开发接口”的开发模式,具有一定的实际落地意义。当然本文在行文中,不可避免存在一定主观偏见性,读者可酌情阅读。一、前言熟悉JAVA服务器开发的同学应该都使用过日志模块,并且大概率使用过"log4j-over-slf4j"和“slf4j-log4j”这两个包。那么这两个包的区别是什么?为什么会互相引用包含
作者:vivo互联网服务器团队-Xiongyangxin将某个通用解决方案包装成成熟的工具包,是每一个技术建设工作者必须思考且必须解决的问题。本文从业内流行的既有工具包入手,解析实现思路,沉淀一般方法。为技术建设的初学者提供一些实践思路的参考。尤其是文中提倡的“去中心化”的协作模式,和“关键链路+开发接口”的开发模式,具有一定的实际落地意义。当然本文在行文中,不可避免存在一定主观偏见性,读者可酌情阅读。一、前言熟悉JAVA服务器开发的同学应该都使用过日志模块,并且大概率使用过"log4j-over-slf4j"和“slf4j-log4j”这两个包。那么这两个包的区别是什么?为什么会互相引用包含
优雅哥SpringBoot2.7.2实战基础-04-集成SpringDoc接口文档和knife4j前面已经集成MyBatisPlus、Druid数据源,开发了5个接口。在测试这5个接口时使用了HTTPClient或PostMan,无论是啥都比较麻烦:得自己写请求地址URL、请求参数等,于是多年前就出现了Swagger这个玩意。Swagger可以自动生成接口文档,还能很方便的测试各个接口。但不幸的是,MVNRepository上面SpringfoxSwagger2的版本停止于2020年7月,而写下这篇文章是2022年8月,已经两年过去没有动静了,与此同时,springdoc-openapi悄然出
优雅哥SpringBoot2.7.2实战基础-04-集成SpringDoc接口文档和knife4j前面已经集成MyBatisPlus、Druid数据源,开发了5个接口。在测试这5个接口时使用了HTTPClient或PostMan,无论是啥都比较麻烦:得自己写请求地址URL、请求参数等,于是多年前就出现了Swagger这个玩意。Swagger可以自动生成接口文档,还能很方便的测试各个接口。但不幸的是,MVNRepository上面SpringfoxSwagger2的版本停止于2020年7月,而写下这篇文章是2022年8月,已经两年过去没有动静了,与此同时,springdoc-openapi悄然出
文章首发在公众号(龙台的技术笔记),之后同步到博客园和个人网站:xiaomage.infoHippo4Jv1.3.1正式发布,本次发布增加了Netty上传动态线程池监控数据、适配Hystrix线程池监控及动态变更等诸多特性,完全兼容历史版本,使用者可安心升级。什么是Hippo4JHippo4J通过对JDK线程池增强,以及扩展三方框架底层线程池等功能,为业务系统提高线上运行保障能力。?全局管控-管理应用线程池实例;⚡️动态变更-应用运行时动态变更线程池参数,包括不限于:核心、最大线程数、阻塞队列容量、拒绝策略等;?通知报警-内置四种报警通知策略,线程池活跃度、容量水位、拒绝策略以及任务执行时间超
文章首发在公众号(龙台的技术笔记),之后同步到博客园和个人网站:xiaomage.infoHippo4Jv1.3.1正式发布,本次发布增加了Netty上传动态线程池监控数据、适配Hystrix线程池监控及动态变更等诸多特性,完全兼容历史版本,使用者可安心升级。什么是Hippo4JHippo4J通过对JDK线程池增强,以及扩展三方框架底层线程池等功能,为业务系统提高线上运行保障能力。?全局管控-管理应用线程池实例;⚡️动态变更-应用运行时动态变更线程池参数,包括不限于:核心、最大线程数、阻塞队列容量、拒绝策略等;?通知报警-内置四种报警通知策略,线程池活跃度、容量水位、拒绝策略以及任务执行时间超
目录一、异常与日志二、下面来聊一下,日志的作用三、记录日志的规范四、日志的内容五、Log4j1、TRACE2、DEBUG3、INFO4、WARN5、ERROR6、FATAL一、异常与日志在理想的国度,用户输入数据的格式都是正确的,选择打开的文件也都是存在的,调用的第三方接口也都是网络稳定,程序的代码也是永远都没有bug的。不过,在现实的世界里,bug无处不在,用户瞎输入、第三方接口间歇性失败、网络故障、未知错误,太多太多了。此时,在bug面前,程序的稳定性尤为重要,一遇到bug就死翘翘,一遇到异常就宕机,这…在遇到上述异常时,及时有效的通知客户、保存现存的所有工作、允许用户安全的退出程序、异常
目录一、异常与日志二、下面来聊一下,日志的作用三、记录日志的规范四、日志的内容五、Log4j1、TRACE2、DEBUG3、INFO4、WARN5、ERROR6、FATAL一、异常与日志在理想的国度,用户输入数据的格式都是正确的,选择打开的文件也都是存在的,调用的第三方接口也都是网络稳定,程序的代码也是永远都没有bug的。不过,在现实的世界里,bug无处不在,用户瞎输入、第三方接口间歇性失败、网络故障、未知错误,太多太多了。此时,在bug面前,程序的稳定性尤为重要,一遇到bug就死翘翘,一遇到异常就宕机,这…在遇到上述异常时,及时有效的通知客户、保存现存的所有工作、允许用户安全的退出程序、异常
目录1、环境2、下载3、修改配置4、启动及其他命令 5、客户端访问: 6、数据迁移1、环境Neo4j是基于Java的图形数据库,运行Neo4j需要启动JVM进程,因此必须安装JAVASE的JDK。neo4j版本:neo4j-community-3.5.62、下载方法1: 命令行下载:curl-O http://dist.neo4j.org/neo4j-community-3.5.5-unix.tar.gz解压安装:tar-axvfneo4j-community-3.5.5-unix.tar.gz方法2:手动下载:liunx环境Neo4j下载地址:https://neo4j.com/downlo
目录1、环境2、下载3、修改配置4、启动及其他命令 5、客户端访问: 6、数据迁移1、环境Neo4j是基于Java的图形数据库,运行Neo4j需要启动JVM进程,因此必须安装JAVASE的JDK。neo4j版本:neo4j-community-3.5.62、下载方法1: 命令行下载:curl-O http://dist.neo4j.org/neo4j-community-3.5.5-unix.tar.gz解压安装:tar-axvfneo4j-community-3.5.5-unix.tar.gz方法2:手动下载:liunx环境Neo4j下载地址:https://neo4j.com/downlo