一、Mysql Communications link failure 问题的解决
1、修改my.cnf:
[mysqld]
wait_timeout=31536000
interactive_timeout=31536000
将过期时间修改为1年。
2、在连接URL上添加参数:&autoReconnect=true&failOverReadOnly=false
二、spring配置文件引入参数
1、通过@Value引入的变量不能添加static修饰符
2、@Scheduled引入cron
(1)此方法不能有参数
(2)此方法不能有返回值
(3)此类中不能包含其他带任何注解的方法
linux查看当前虚拟机的版本:lsb_release -a
linux设置文件权限:chmod 777 test.sh
三、Windows设置开机自启动
1、redis官方下载地址:https://redis.io/download,redis 64位下载地址:https://github.com/ServiceStack/redis-windows
2、去到redis安装目录下执行:redis-server --service-install redis.windows-service.conf --loglevel verbose
k8s命令:
kubelet:运行在cluster所有节点上,负责启动POD和容器
kubeadm:用于初始化cluster
kubectl:kubectl是kubenetes命令行工具,通过kubectl可以部署和管理应用,查看各种资源,创建,删除和更新组件
四、关于fegin基于微服务之间的调用
问题:消费者服务有A,B,C,D四台,生产者服务只部署在A服务了,A服务的消费者能正常消费,其他三台服务器消费会报错:java.net.UnknownHostException: iZbp16ess9n1xj2g99ch5fZ
解决方案:
1、在消费者服务增加以下配置
org.springframework.cloud
spring-cloud-loadbalancer
,但是消费者服务是个老服务,springboot版本是2.0.0,不支持该配置,需要升级版本,升级版本后,很多其他配置也需要跟着一起升级,因为是老服务,有风险,放弃这个解决方法。。springboot2.1以上的可以使用该解决方案
2、生产者服务(被调用的服务)中增加以下配置
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.instance.prefer-ip-address=true
即可解决
以上两个方式都可以解决。文章出处
1.https://blog.csdn.net/qq_34279995/article/details/123282857
2.https://www.bbsmax.com/A/QV5ZV4le5y/
五、线程池相关
1、主要参数设置
// 创建线程池 , 参数含义 :(核心线程数,最大线程数,加开线程的存活时间,时间单位,任务队列长度)
ThreadPoolExecutor pool = new ThreadPoolExecutor(5, 8,0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueue(2));
随着任务数量的增加,会增加活跃的线程数。
当活跃的线程数 = 核心线程数,此时不再增加活跃线程数,而是往任务队列里堆积。
当任务队列堆满了,随着任务数量的增加,会在核心线程数的基础上加开线程。
直到活跃线程数 = 最大线程数,就不能增加线程了。
如果此时任务还在增加,则: 任务数11 > 最大线程数8 + 队列长度2 ,抛出异常RejectedExecutionException,拒绝任务
2、拒绝策略
1. AbortPolicy:直接丢弃任务,抛出异常,这是默认策略
2. CallerRunsPolicy:只有调用者所在的线程来处理任务
3. DiscardOldestPolicy:丢弃等待队列中最旧的任务,并执⾏当前任务
4. DiscardPolicy:直接丢弃任务,也不抛出异常
六、linux安装java运行环境
1.去官网下载jdk-8u333-linux-i586.tar.gz,上传到linux中
2.解压
3.在etc/profile 配置
export JAVA_HOME=/usr/local/java/jdk1.8.0_333
export JRE_HOME=
J
A
V
A
H
O
M
E
/
j
r
e
e
x
p
o
r
t
C
L
A
S
S
P
A
T
H
=
.
:
{JAVA_HOME}/jre export CLASSPATH=.:
JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib:
J
R
E
H
O
M
E
/
l
i
b
e
x
p
o
r
t
P
A
T
H
=
{JRE_HOME}/lib export PATH=
JREHOME/libexportPATH={JAVA_HOME}/bin:$PATH
4.source /etc/profile
5.添加软连接
ln -s /usr/local/java/jdk1.8.0_271/bin/java /usr/bin/java