场景描述 MongoDB副本集中有一台Secondary节点出现RECOVERING的状态 状态如下: 恢复思路: 1.关闭MongoDB故障节点的数据库服务,移除数据目录,启动MongoDB服务,开启自动同步机制,恢复secondary节点。 2.找到另外一个secondary数据节点的快照,关闭 ...
分类:
数据库 时间:
2019-10-24 15:55:16
阅读次数:
148
Tomcat支持三种接收请求的处理方式:BIO、NIO、APR 。 所需软件的下载地址 安装依赖 安装软件 修改配置 测试 注:如果非root用户启动失败,把apr环境变量在当前用户的.bash_profile中写一份 配置说明 Executor参数说明 Connector参数说明 ...
分类:
其他好文 时间:
2019-10-21 11:54:41
阅读次数:
98
GitLab Runner安装 需要添加gitlab官方库: # For Debian/Ubuntu/Mint curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | ...
分类:
其他好文 时间:
2019-10-20 20:18:42
阅读次数:
163
大多数并发都是通过任务执行的方式来实现的。 一般有两种方式执行任务:串行和并行。 当然上面的这两种方式都是有问题的。单线程的问题就是并发量会是瓶颈,多线程版本就是无限制的创建线程会导致资源不足问题。 Executor 框架 任务是一组逻辑工作单元,而线程是使任务异步执行的机制。 JDK 提供了 Ex ...
分类:
编程语言 时间:
2019-10-18 19:23:01
阅读次数:
103
线程池 线程池的目的就是减少多线程创建的开销,减少资源的消耗,让系统更加的稳定。在web开发中,服务器会为了一个请求分配一个线程来处理,如果每次请求都创建一个线程,请求结束就销毁这个线程。那么在高并发的情况下,就会有大量线程创建和销毁,这就会降低系统的效率。线程池的诞生就是为了让线程得到重复使用,减 ...
分类:
编程语言 时间:
2019-10-16 09:55:53
阅读次数:
83
<! flowchart 箭头图标 勿删 1.ThreadPoolExecutor类实现了ExecutorService接口和Executor接口,可以设置线程池corePoolSize,最大线程池大小,AliveTime,拒绝策略等。常用构造方法: ThreadPoolExecutor(int c ...
分类:
编程语言 时间:
2019-10-14 14:20:26
阅读次数:
148
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were f... ...
分类:
移动开发 时间:
2019-10-14 13:05:09
阅读次数:
124
Executor 是一个接口,只定义了一个方法, 可以接收Runnable实例,用来执行一个实现Runnable接口的任务。 void execute(Runnable command); ExecutorService 也是一个接口,继承自Executor,并增加了一些方法,用的比较广泛,提供了一 ...
分类:
编程语言 时间:
2019-10-12 01:51:22
阅读次数:
135
一 反向生成数据库mapper的工具类: 添加依赖 工具类 映射关系配置xml 另外springboot启动类中添加注解: @EnableAutoConfiguration 二 数据库配置 application.yml: mybatis-config.xml: 另外还有将mapper数据映射加入s ...
分类:
数据库 时间:
2019-10-10 12:45:47
阅读次数:
104
Java并发——线程池Executor框架 线程池 无限制的创建线程 若采用"为每个任务分配一个线程"的方式会存在一些缺陷,尤其是当需要创建大量线程时: 线程生命周期的开销非常高 资源消耗 稳定性 引入线程池 任务是一组逻辑工作单元,线程则是使任务异步执行的机制。当存在大量并发任务时,创建、销毁线程 ...
分类:
编程语言 时间:
2019-10-09 09:43:51
阅读次数:
107