摘要:
常用 spring start https://start.spring.io/ spring-boot配置 https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/#common-application- 阅读全文
摘要:
1.idea 最近打开的文件个数 File->Settings->Editor->General->Editor Tabs->Tab Closing Policy->Tab limit 参考:https://www.cnblogs.com/yzhch/archive/2017/04/19/67342 阅读全文
摘要:
知识点 Spring提供了@Value注解,可用于将配置文件或注册中心的属性值动态注入到Bean中。 注:@Value注解在spring-beans包里。 @Value("${...}"):注入获取对应属性文件中定义的属性值; @Value("#{...}"):表示SpEl表达式通常用来获取Bean 阅读全文
摘要:
场景 项目基于SpringBoot搭建,默认使用Tomcat Web容器,对于每个HTTP请求,Tomcat Web容器会分配1个线程来处理请求。 在pom.xml里查看依赖关系: spring-boot-starter-web添加了tomcat-embed-core依赖 Tomcat线程池配置可在 阅读全文
摘要:
问题 项目里使用xxl-job定时任务框架,某个任务定义如下: @Slf4j @RefreshScope @Component @JobHandler("xxxTask") public class XxxTask extends IJobHandler { @Value("${xxx.enable 阅读全文
摘要:
场景 某天在钉钉阿里云运维群收到提示,部分节点阿里云网络异常告警。 检查组内项目微服务发现有1个节点出现了假死现象,进程运行服务没有挂,CPU、内存等资源正常, 但访问服务提供的RESTAPI接口均无法响应,通过网关调用接口一直等待直到超时。 分析 通过jstack导出线程堆栈信息到文件: jps 阅读全文
摘要:
场景 测试环境,采用K8S容器化部署,通过Rancher在Web界面对资源进行管理; 各项目组有独立的网关,多个微服务(根据业务功能、高内聚低耦合划分); 网关是基于spring-cloud-gateway,定制扩展了一些功能,如鉴权、限流等; 微服务是基于spring-cloud各组件,Eurek 阅读全文
摘要:
启动本地Kibana连接测试环境ElasticSearch,启动报错: [warning][migrations] Another Kibana instance appears to be migrating the index. Waiting for that migration to com 阅读全文
摘要:
背景 项目开发中经常会用到多线程,比如批量数据处理任务。 通过多线程并行处理,能够有效提高处理的效率和缩短处理时长。 假设某项任务需要处理1分钟,有1000个任务要处理,如果单线程每个任务顺序执行,处理时长为1000分钟(约16.67小时)。 如果10个线程同时处理,则时间缩短10倍,即100分钟( 阅读全文
摘要:
Java项目中有计算精度要求高的场景(如金额计算)会使用`BigDecimal`类型来代替`Double`、`Float`。 本文整理了一些日常开发中使用`BigDecimal`值得注意的问题和代码实例。 1. `BigDecimal`初始化时入参应使用`String`类型 例1: ```java 阅读全文
摘要:
## 背景 在项目开发前的设计阶段,我们会根据需求分析、业务梳理的结果进行领域建模。 通常有2种方式: 1. 实体设计优先 2. 数据库设计优先 无论哪种方式,最终会创建数据库、数据表。 通常在每一张表,会设计2个时间自动,创建时间和修改时间,这样在查询数据时能够清晰的看到数据行 是什么时候创建、什 阅读全文
摘要:
## 问题 最近协助渠道组开发新需求,封装实现了一个公共模块供不同渠道项目使用。 以前各个渠道项目有很多相似的菜单和功能,各自项目里自己的代码实现,表设计和代码风格迥异。 本公共模块对新需求的功能点进行抽象,通过设计回调接口来实现差异性,减少重复代码,提高模块复用性和可维护性。 目前有2个渠道项目接 阅读全文