- 博客(18)
- 收藏
- 关注
原创 jedis操作redis报错value sent to redis cannot be null
使用hset命令添加缓存,报错value sent to redis cannot be null,查看源码发现,jedis对于每个操作都有判空校验。审查待存储数据中是否有null。
2022-11-23 16:45:24 2337
原创 同一台宿主机下的docker network 网络隔离
在同一台宿主机下启动两个docker镜像时,默认是使用网桥模式,首先会在宿主机上创建一个虚拟网桥docker0,所有此宿主机上以默认方式启动docker的镜像都会把docker0作为默认网关,并且会利用linux的veth pair技术创建一对虚拟网卡,一个为eth0在docker容器中,一个以类似vethxxx这样的名字命名,在宿主机上Docker四种网络模式宿主机网络信息查询 ip addrdocker 容器网络信息查询在使用docker run -itd xxx方式启动镜像时,同一个
2021-11-27 16:40:06 698
原创 使用mybtis向mysql插入数据时间差13小时
查看mysql服务器时间date命令查询数据库时间检查数据链接url配置是否添加时区配置jdbc:mysql://xxxx:3306/test?serverTimezone=GMT%2B8
2021-08-13 20:27:51 192
原创 springboot读取配置文件中的内容转为实体类包含list和map
pom文件<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.9</version> <relativePath/> <!-- lookup parent fr
2021-07-27 16:32:39 1019 2
原创 关于SynchronousQueue线程池使用的一些认识
第一次认识SynchronousQueue是通过线程池的方式ExecutorService poll = new ThreadPoolExecutor(20, 20, 10L, TimeUnit.MINUTES, new SynchronousQueue<>());SynchronousQueue属于直接任务队列,当提交任务时,线程池大小未到达最大线程数量,则创建线程直接执行,如已到达线程池maximumPoolSize值,则执行拒绝策略SynchronousQueue特性必须是放入一
2021-06-28 19:37:34 2850
原创 数据库配置信息无误, 连接数据库失败, 日志显示Error preloading the connection pool
记一次数据库连接失败错误数据库配置文件, 检查连接信息无误,但是无法连接数据库排查发现这几个值写的太大,导致无法初始化连接池, 应该是超过数据库所允许的最大限制,改小后即可启动成功 maxIdle: 500 minIdle: 200 initialSize: 200...
2021-04-12 17:26:50 1121
原创 linux下rabbitmq的安装与端口配置
安装rabbitmqrabbitmq安装,开启ui界面,添加用户端口设置从RabbitMQ 3.7.0开始,格式为sysctl格式。语法可以简要解释为3点:1.一个设置使用一行2.线条结构为 Key = Value3.任何以#字符开头的都是注释修改rabbitmq启动端口:在rabbit安装目录的etc/rabbit/创建rabbitmq.conf文件,添加listeners.tcp.default = 7216修改rabbitmq ui界面端口:在rabbit安装目录的etc/ra
2021-01-13 19:15:51 1910
原创 springcloud-zuul根据请求url动态更新路由表
由于公司环境较多,为避免频繁更新网关路由表配置,同时方便测试时可以略过网关解密功能,需要根据固定规则的请求url自动生成路由表,并转发请求到后端服务。要求:支持注册中心服务名与固定ip转发请求。兼容配置文件中已经配置的路由转发规则只有配置文件中允许的模块才允许动态路由不允许重复创建并刷新路由,防止请求过慢实际测试来看,如果请求走动态创建路由规则后再转发请求到后端接口,则请求要慢15倍左右。1. 创建过滤器拦截所有请求url并判断是否需要创建动态路由@Componentpublic cl
2020-11-12 15:05:43 639 3
原创 SpringBoot2.X实现文件上传与下载
本例子基于spring-boot-2.1.6.RELEASE开发pom文件: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.6.RELEASE</version>
2020-10-15 17:36:35 571
原创 直接替换Springboot jar包中的文件
Linux Springboot 在不重新打包的情况下,修改配置文件直接vim xxx.jar包后,可以通过 /关键字来查找文件,查找到以后,通过方向键进行控制,enter进入文件,i进入插入模式,修改文件、保存等操作和vim的操作一样。修改保存完后 java –jar直接启动即可。Linux Springboot 在不重新打包的情况下,替换某些class文件及lib下jar包先 jar -xvf ***.jar 解压要替换的jar,解压后目录如下class文件及lib都在BOOT-INF文件
2020-08-31 10:58:48 6438
原创 linux离线安装docker私有仓库与使用
1.CentOS 7 docker下载与安装下载docker解压 tar -xvf docker-18.06.1-ce.tgz将解压出来的docker文件内容移动到 /usr/bin/ 目录下cp docker/* /usr/bin/将docker注册为servicevim /etc/systemd/system/docker.service将下列配置加到docker.service中并保存[Unit]Description=Docker Application Container En
2020-07-30 16:24:12 979
原创 shell脚本定时检测指定端口或进程名的进程是否存在,范围检测可用端口号
shell脚本监控指定端口或进程名脚本固定10秒运行一次,检查指定端口或进程名称,检测进程数为0时进行具体自定义操作//TODO 具体自定义操作后台运行并监听8888端口 ./run.sh 8888 &#!/bin/bash while true do process=`netstat -ntl|grep $0 | wc -l` if [ $process-eq 0 ]; then //TODO fi sleep 10done检测指定进程名称个数,进程数
2020-07-29 17:32:44 1821 1
原创 consul集群搭建作为注册中心与高可用
Consul是什么Consul是一个服务网格(微服务间的 TCP/IP,负责服务之间的网络调用、限流、熔断和监控)解决方案,它是一个一个分布式的,高度可用的系统,而且开发使用都很简便。它提供了一个功能齐全的控制平面,主要特点是:服务发现、健康检查、键值存储、安全服务通信、多数据中心。consul 节点模式划分client: 客户端, 无状态, 将 HTTP 和 DNS 接口请求转发给局域网内的服务端集群server: 服务端, 保存配置信息, 高可用集群, 在局域网内与本地客户端通讯, 通过广域网与
2020-06-12 17:21:41 1643
原创 spring-cloud-stream-binder-kafka使用密码连接kafka与SSL配置
在使用spring-cloud-stream-binder-kafka时,在kafka服务开启登录认证之后需要客户端提供用户名密码才可以链接,需要在配置文件中做如下配置:pom文件:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spr...
2020-05-11 21:49:14 2310
原创 SpringBoot2开启mongodbSSL连接与连接池配置
SpringBoot2开启mongodbSSL连接与连接池配置本文基于springboot2采用host方式配置mongodb ip连接,官方也支持uri方式连接mongodb(mongodb://ip:端口/数据库名称)。POM.xml配置<parent> <groupId>org.springframework.boot</groupId> ...
2019-11-10 14:22:26 2809 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人