- 博客(163)
- 资源 (11)
- 收藏
- 关注

原创 Java线程池使用及源码学习
Executor: 执行器接口,执行某项任务 (exec()方法)ExecutorService: 执行器的服务 (exec(), submit(runnable/callable) 方法)Callable: interface(call()方法,可以返回一个result)Runable: interface (run()方法,没有返回值)Executors: 工具类,操作Executo...
2020-03-29 23:55:23
171
原创 Feign调用错误no suitable HttpMessageConverter found for response type
feign调用时,数据转换失败
2022-06-08 09:49:58
2129
原创 shenyu中logback替换成log4j2
一、背景shenyu框架默认使用的是logback处理日志,压测发现写入日志存在瓶颈。基于log4j2优秀的性能,使用log4j2替换logback.二.如何替换logback1.删除logback的依赖项 <dependency> <groupId>com.tencent.tars</groupId> <artifactId>tars-client</artifactId>
2022-05-27 15:43:41
488
原创 redis 6.2.4单机安装及benchmark压测
安装命令tar -zxvf redis-6.2.4.tar.gzcd redis-6.2.4#生成bin目录make PREFIX=/opt/redis/redis-6.2.4 install#配置环境变量vi /etc/profileexport REDIS_BIN=/opt/redis/redis-6.2.4/binexport PATH=$PATH:$REDIS_BINsource /etc/profile启动redisredis-server /opt/redis-
2022-05-25 15:56:46
329
原创 重试Retryer实例
背景好的代码应该具备健壮性,比如代码里面调用了一个http请求,如果当时网络抖了下,http就调用失败了,这时候我们往往需要重试,本文我们就来介绍一个功能比较完善的重试组件-Retryer。实例我们需要针对接口accountFeignClient.getAccount在出现错误异常时,进行重试1.添加配置注解@EnableRetry,开启重试功能在配置类中新增注解@EnableRetry@EnableRetry@SpringBootApplication(exclude = {DataSour
2022-05-12 10:21:36
340
原创 SringMVC HandlerMethodArgumentResolver源码分析与实践
一、HandlerMethodArgumentResolver源码分析1.在DispatcherServlet中,HandlerAdapter调用handle返回ModleAndView // Actually invoke the handler. mv = ha.handle(processedRequest, response, mappedHandler.getHandler());2.在RequestMappingHandlerAdapter中,handleInternal方法中
2022-04-27 11:09:50
177
原创 Spring MVC的流程及源码分析
1.Spring MVC通过前置控制器DispatcherServlet处理客户端请求,这里用到了DispatcherServlet的doService方法中的doDispatchDispatcherServlet.java protected void doService(HttpServletRequest request, HttpServletResponse response) throws Exception { logRequest(request);` .....省略其他代码t
2022-04-27 09:29:50
1188
原创 BeanFactory和FacotryBean的区别
BeanFactoy和Factory区别:BeanFactory是个Factory,也就是IOC容器或对象工厂,FactoryBean是个Bean。在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器)来进行管理的。但对FactoryBean而言,这个Bean不是简单的Bean,而是一个能生产或者修饰对象生成的工厂Bean,它的实现与设计模式中的工厂模式和修饰器模式类似1. BeanFactoryBeanFactory定义了IOC容器的最基本形式,并提供了IOC容器应遵守的的
2022-04-24 15:51:42
520
原创 docker制作image镜像
准备文件mkdir demo-dockercp demo-docker.jar demo-dockercp Dockfile demo-dockerDockfile文件FROM hub.xxx.com.cn:18880/cx/open-jdk:8RUN mkdir /opt/appCOPY demo-docker.jar /opt/app/EXPOSE 6084#CMD ["java", "-jar", "${JAVA_OPTS} /opt/app/demo-docker.jar"]
2022-04-13 14:39:37
489
原创 docker compose安装及实例
docker compose安装sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-composesudo ln -s /usr/local/bin/docker-compose /u
2022-04-13 14:28:37
1146
原创 docker安装
1.安装curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun2.启动服务systemctl daemon-reloadsystemctl restart docker.service3.配置docker镜像仓库echo '{ "insecure-registries":["hub.xxx.com.cn:18880"] }' > /etc/docker/daemon.jsonsystemctl restart
2022-04-13 13:55:25
984
原创 elasticsearch的docker制作
Dockerfile文件FROM xx:port/cx/elasticsearch:7.6.2MAINTAINER xxx TeamENV LANG C.UTF-8ENV TZ Asia/ShanghaiCOPY config/elasticsearch.yml /usr/share/elasticsearch/config/elasticsearch.ymlbuild-cx-elasticsearch.sh#!/bin/shdocker build -t xxx:18880/cx
2022-03-11 17:36:11
2270
原创 【nginx】反向代理是,url包含特殊字符导致400错误
现象:在一个url参数中包含了特殊字符{},通过nginx请求,报400错误问题分析:这个url请求,绕开nginx,可以返回数据,判定是nginx出现问题;将url特殊字符删除,通过nginx能正常访问,由此判定nginx对url的特殊字符做了处理解决方案在proxy_pass的跳转路径后新增$request_urilocation /name/ { proxy_pass http://127.0.0.1$request_uri;}参考文档:http://nginx.org/
2021-11-19 14:30:05
4928
2
原创 Feign - Error while extracting response for type [class java.lang.String]
定义Feign接口 @RequestMapping(produces = MediaType.APPLICATION_JSON_UTF8_VALUE, method = RequestMethod.GET, value = "/temp/test/data") String testData(@RequestParam("data") String data);调用Feign接口 @GetMapping("/internal/test/data") pub
2021-11-08 15:32:02
7985
原创 java实现base64加密、解密
java实现base64加密、解密package base64import org.apache.commons.codec.binary.Base64;/** * @author cao.shengyong * @date 2021/6/29 10:19 */public class Base64Util { public static void main(String[] args) { String str = "xxx111"; org.a
2021-06-29 10:22:02
1200
原创 elasticsearch常见问题
问题1.elasticsearch健康是黄色1.1 查看es健康状态curl http://192.168.12.128:9200/_cat/health?v1.2查看分区情况http://192.168.1.33:9200/_cat/shards1.3 删除有问题的索引这里product_index这个索引就有问题,删除这个product_index索引...
2021-06-25 13:04:57
195
原创 elasticsearch-head安装
elasticsearch-head安装1.node安装1.1node下载1.2 解压1.3配置环境变量1.4 验证2.head插件的安装与配置2.1 安装git插件2.2 验证git插件是否安装成功2.3 下载并安装head插件1.node安装1.1node下载官网: https://nodejs.org/en/download/wget https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz1.2 解压tar -xJf
2021-06-25 11:03:38
178
原创 kibana7.10.2安装
kibana7.10.2安装官网1.下载2.解压3.启动4.配置5.验证官网https://www.elastic.co/cn/downloads/past-releases#kibana1.下载https://www.elastic.co/cn/downloads/past-releases#kibana2.解压tar -zxvf kibana-7.10.2-linux-x86_643.启动groupadd esuseradd es -g espasswd esabcd1234c
2021-06-24 16:15:16
732
原创 elasticsearch7.10.2安装
elasticsearch7.10.2安装相关文档1.官网2.ES和操作系统的选择3.elasticsearch安装3.1 下载3.2 解压3.3创建ES用户、用户组3.4 启动3.5 验证相关文档1.官网 https://www.elastic.co/guide/en/elasticsearch/reference/6.0/getting-started.html2.ES和操作系统的选择https://www.elastic.co/cn/support/matrix3.elasticse
2021-06-24 15:56:35
405
原创 linux下创建用户、用户组
背景在执行elasticsearch时,需要使用普通用户去执行。这里记录一下在linux下如何场景用户,并将文件的拥有者改为普通用户操作groupadd esuseradd es -g espasswd esabcd1234chown -R es:es elasticsearch-7.10.2...
2021-06-24 13:45:46
196
原创 k8s-node节点未找到flannel网络
k8s-node节点的flannel的IP地址不正确问题描述:问题分析1.检查node节点的cni和flannel网卡地址2.检查master节点的flannel服务如何重置flannel网络(1)删除node节点(master)(2) node 节点删除cni和flannel网卡(node)(3)加入节点(node)问题描述:现有测试环境有3台k8s服务器,现在新添加两台服务器,发现新加的服务器flannel网卡没有生成问题分析1.检查node节点的cni和flannel网卡地址操作命名ifc
2021-06-17 15:13:53
3386
2
原创 flyway操作手册
flyway操作手册概要说明使用docker容器提供flyway执行环境flyway sql文件命名规则实例说明1.初始化(1)创建flyway目录(2)配置conf(3)准备sql(4)执行(5)验证2.新增sql(1)准备sql(2)执行(3)验证概要说明数据库迁移基于flyway-7.5.3实现,可自动、可重复的执行sql脚本实现数据库的版本升级。flyway的实现原理:在目标数据库中创建一个flyway_schema_history的表,用于记录数据库当前的版本。当执行flyway mi
2021-06-16 10:11:28
802
原创 在springboot项目中使用log4j存储,只保存最近10个文件
参考文档: http://logging.apache.org/log4j/log4j-2.12.1/manual/appenders.html#DeleteIfLastModifiedlog4j2.xml<?xml version="1.0" encoding="UTF-8"?><Configuration status="info" monitorInterval="120"> <properties> <property name
2021-06-04 17:03:18
683
原创 node安装
node安装下载及安装配置验证下载及安装配置wget https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-x64.tar.xzxz –d node-v6.10.2-linux-x64.tar.xztar xvf node-v6.10.2-linux-x64.tarmv node-v6.10.2-linux-x64 /usr/local/nodevim /etc/profileexport NODE_HOME=/usr/local/node
2021-04-27 14:03:13
123
原创 k8s常用操作命令
k8s常用操作命令kubectl get pod -o wide #获取pod listkubectl get service -o wide #获取service listkubectl delete service 服务名 #删除servicekubectl get node -o wide #获取node listkubectl get deploy -o wide #获取deploy listkubectl delete deploy deploy名称 #删除deploykub
2021-04-27 13:53:47
267
原创 Spring Cloud Feign异常处理
Spring Cloud Feign异常处理1.问题:在feign调用过程,异常信息不能传递2.解决方案2.1 重新定义FeignConfig2.2 Feign定义1.问题:在feign调用过程,异常信息不能传递在开发过程中发现,调用feign时,接口的异常信息不能传递到调用方2.解决方案2.1 重新定义FeignConfig重新实现FeignConfig对于ErrorCode的解析public class KdcFeignConfig extends FeignConfig { @Au
2021-03-25 14:00:12
1245
原创 构建protobuf项目
构建protobuf项目1.引入protobuf依赖包2. 创建目录src/main/protobuf3.添加插件4.编译5.完整的pom文件1.引入protobuf依赖包<dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version
2021-03-22 10:16:57
391
原创 Java程序中对Service进行Mock
Java程序中对Service进行Mock背景ServieTest Service背景在项目中往往需要对service逻辑进行单元测试验证,这里采用mockito对dao数据进行模拟,验证service逻辑Serviepackage com.xx.kdc.service;import com.xx.kdc.dao.codegen.TestMapper;import com.xx.kdc.model.codegen.Test;import com.xx.kdc.model.codegen.Te
2021-02-24 14:57:55
1441
1
原创 Linux搭建nfs共享服务
Linux搭建nfs共享服务Linux搭建nfs共享服务1.A服务(1)nfs-utils rpcbin软件安装(2)定义共享目录(3)启动服务2.B/C服务Linux搭建nfs共享服务NFS(network file system)网络文件系统,类似Windows中的文件夹共享,如下有三台机器A, B, C,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到A, B, C。但是使用NFS只需要放到A上,然后A共享给B和C即可。访问的时候,B和C是Server(A) 192.168
2021-01-04 10:33:02
244
1
原创 docker安装tomcat,访问界面404错误
docker安装tomcat,访问界面404错误描述:运用docker安装tomcat,安装后日志正常,但是访问界面是404docker pull tomcat:10docker run --name tomcat -d -p 8080:8080 tomcat:10docker logs -f tomcat # 日志正常发现在webapps中目录为null,真正的目录在webapps.distdocker exec -it tomcat /bin/bashrm -rf webapps
2020-12-31 17:07:33
212
原创 k8s安装与踩坑
k8s安装与踩坑K8S安装部署(一)准备工作1.安装CentOS虚拟机、关闭防火墙、SELinux、禁用Swap2.禁用Swap3.配置主机名和IP的host信息4.所有节点安装Docker5.配置Docker的镜像加速器(二)使用kubeadmin部署K8s集群1.安装kubelet kubeadm kubectl(master /node)2.关闭交换区 (master/node)3.网桥配置(master/node)4.docker daemon 修改(master/node)4.kubeadm in
2020-12-31 17:03:07
703
原创 mybatis日志级别一直是debug
mybatis日志级别一直是debug问题描述mybaties-config.xml解决方案问题描述项目采用log4j2日志框架,修改日志级别为error,在arthas下发现大量的线程block.运用thread -b命令,发现是mybaties调用debugger日志阻塞。项目的日志级别已经设置成了error,但是mybaties的日志级别还是debugge.mybaties-config.xmlMybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具:SLF4JApach
2020-12-21 16:42:23
2758
原创 druid参数配置及踩坑
druid参数配置spring.datasource.druid.initial-size=10spring.datasource.druid.min-idle=10spring.datasource.druid.max-active=100spring.datasource.druid.max-wait=60000spring.datasource.druid.validation-query=SELECT 1spring.datasource.druid.test-while-idle=tr
2020-12-21 16:31:22
2168
原创 spring security jdbc存储
spring security jdbc存储依赖配合文件相关代码相关sql其他-内存存储依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency> <groupId>mysql
2020-12-18 10:16:42
232
原创 spring security 自定义登陆界面
spring security 自定义登陆界面1.自定义config并继承WebSecurityConfigurerAdapter2.登陆界面3.定义controller4.application.properties5.page1.自定义config并继承WebSecurityConfigurerAdapter@Configuration@EnableWebSecuritypublic class MyConfig extends WebSecurityConfigurerAdapter {
2020-12-17 15:58:50
203
原创 org.apache.commons.beanutils.ConversionException: Default conversion to
调用 BeanUtils.populate转换失败BeanUtils.populate(groupAccountMessage, (HashMap<String, Object>) msgObj.getData());经过分析发现,该方法不支持特定枚举。解决方案: 定义ConvertUtils.register对枚举类型转换。ConvertUtils.register(new EnumReferTypeConverter(),UserMessage.ReferType.class)
2020-12-11 10:52:07
999
原创 haproxy安装
1.下载https://src.fedoraproject.org/repo/pkgs/haproxy/2.解压mv haproxy-1.8.25.tar.gz /usr/localtar -zxvf haproxy-1.8.25.tar.gz3.查看linux版本uname -r4.查看README文件,选择适合TARGET - linux22 for Linux 2.2 - linux24 for Linux 2.4 and above (default)
2020-10-23 10:45:03
341
1
spring2.5中文官方教程
2012-08-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人