4 DayDayUp丶

尚未进行身份认证

Good Good Study, Day Day Up!

等级
TA的排名 5w+

Maven插件创建并运行Docker镜像

环境linux上的测试环境,安装docker服务;win10开发环境,未装docker,保证网络能连接到测试环境的Docker即可。一、开启远程访问开启Docker的远程访问,使本地win10构建好的镜像,通过maven插件可自动添加到linux的docker中。cat /usr/lib/systemd/system/docker.service二、pom添加maven插...

2019-12-03 14:47:43

SpringBean默认是单例的,高并发情况下,如何保证并发安全

Spring的bean默认都是单例的,某些情况下,单例是并发不安全的,以Controller举例,问题根源在于,我们可能会在Controller中定义成员变量,如此一来,多个请求来临,进入的都是同一个单例的Controller对象,并对此成员变量的值进行修改操作,因此会互相影响,无法达到并发安全(不同于线程隔离的概念,后面会解释到)的效果。一、抛出问题首先来举个例子,证明单例的并发不安全性...

2019-12-03 13:37:37

Mybatis多数据源的切换——AbstractRoutingDataSource

Spring数据源路由核心类AbstractRoutingDataSource,API文档解释如下:Abstract javax.sql.DataSource implementation that routes getConnection() calls to one of various target DataSources based on a lookup key. The latt...

2019-12-02 22:06:48

Spring动态管理定时任务——ThreadPoolTaskScheduler

Spring任务调度核心类ThreadPoolTaskScheduler,API文档解释如下:Implementation of Spring's TaskScheduler interface, wrapping a native java.util.concurrent.ScheduledThreadPoolExecutor.Spring的TaskScheduler接口的实现,包装了...

2019-12-02 15:44:19

玩转SpringBoot之定时任务

前言使用SpringBoot创建定时任务非常简单,目前主要有以下三种创建方式:一、基于注解(@Scheduled) 二、基于接口(SchedulingConfigurer) 前者相信大家都很熟悉,但是实际使用中我们往往想从数据库中读取指定时间来动态执行定时任务,这时候基于接口的定时任务就派上用场了。 三、基于注解设定多线程定时任务一、静态:基于注解基于注解 @Scheduled ...

2019-11-29 15:41:52

Java程序员必备工具

blog:csdn、博客园等 分布式代码仓库:github、gitlab、码云等 浏览器:火狐、谷歌(页面翻译,提高效率) 流程设计图:ProcessOn、百度脑图 文档转换:Smallpdf 文本搜索:Search And Replace 文本编辑器:Notepad++、EditPlus、UltraEdit 笔记:有道云笔记 云盘:百度网盘 Linux:相比Xshell更喜欢S...

2019-09-05 19:14:13

spring-kafka使消费者动态订阅新增的topic

一、前言在Java中使用kafka,方式很多,例如:直接使用kafka-clients这类原生的API; 也可以使用Spring对其的包装API,即spring-kafka,同其它包装API一样(如JdbcTemplate、RestTemplate、RedisTemplate等等),KafkaTemplate是其生产者核心类,KafkaListener是其消费者核心注解; 也有包装地更...

2019-11-15 19:54:51

Mysql自定义序列数的实现

一、前言往往有很多情况下,我们需要使用自己生成的唯一Id或保证不重复的序列号,特别是在高并发的场景下。为此,很容易想到的实现方式有以下两种:要么使用能保证分布式高并发下一致性的组件Zookeeper,借助于它的分布式锁很容易实现,缺点是需要在自己的系统或服务中引入Zookeeper的组件依赖,无疑增加了系统复杂度和可维护性(换用Redis也是同理); 另一种容易想到可以利用Mysql的事...

2019-11-04 17:20:03

Docker常用命令整理

Docker相关的命令和指令主要分为两大类,一是Docker命令,二是Dockerfile指令。而在Docker命令中,通过操作对象的不同,又可分为Docker镜像操作命令和Docker容器操作命令。下面分类整理出Docker命令。一、Docker命令1.1 Docker镜像# 搜索镜像:docker search java# 下载镜像:docker pull java#...

2019-10-24 10:33:42

Jenkins安装部署以及自动构建和发布jar应用

前言Jenkins作为Hudson的一种继承升级版,对自动化测试部署的领域里一马当先。本文将陪你走完自动化测试部署的全流程,主要包括以下几部分:Jenkins安装(ver.2.179) Jenkins搭建 配置SVN触发器以自动构建 每次自动构建后自动部署jar包应用一、安装关于Jenkins的安装,网上教程很多,再写也是重复没有意义,下面给出两个本人实践过程中参考的文章:...

2019-10-18 19:35:22

SpringCloudConfig之client端报错Could not resolve placeholder 'from' in value "${from}"

一、前言环境:jdk 1.8,SpringCloud Greenwich.SR2。如题,springcloud config-client启动报错:Could not resolve placeholder 'from' in value "${from}",具体异常堆栈如下:Error starting ApplicationContext. To display the cond...

2019-10-02 22:08:31

Linux下安装lsof

前言除了可以很方便地使用Linux的软件包管理工具,如yum install lsof或rpm命令,也可以自己下载安装包然后编译安装。步骤一、下载安装包https://dl.packetstormsecurity.net/UNIX/IDS/lsof/lsof_4.76.tar.gz或https://download.csdn.net/download/songzehao/118...

2019-09-28 10:06:20

Ribbon单独使用,配置自动重试,实现负载均衡和高可用

一、前言1.1 实现目标服务A调用服务B1和B2(B1和B2提供同种服务),当服务B1/B2在停止和重新发布阶段,或B1/B2有一个服务故障时,需保证服务A正常调用B服务,达到无感知发布的效果(服务B高可用) 需保证服务A的请求负载均衡,避免某个B服务节点压力过大(服务B负载均衡)说明:这里是独立使用Ribbon,不依赖于Eureka、Zookeeper等任何服务注册发现组件。...

2019-09-24 21:45:54

SpringBoot-starter原理之手写

目录一、前言二、实现思路2.1 命名规范2.2 实现步骤三、手写实现3.1 新建第三方jar3.2 新建starter工程3.3 引入jar包3.4 编写自动配置类3.5 编写配置发现文件3.6 打包发布四、测试一、前言SpringBoot-starter的原理,在之前的文章中已作解析,可点此传送。今天要来手动实现一个自己的SpringB...

2019-09-15 22:08:36

SpringBoot-starter的原理

目录一、前言1.1 SpringBoot的优点1.2 SpringBoot-starter的作用二、SpringBoot-starter解析2.1 SpringBoot搭建SSM2.2 SpringBoot的诸多配置2.3 SpringBoot-starter自动配置bean一、前言1.1 SpringBoot的优点SpringBoot是新一代流行的Spri...

2019-09-14 22:16:19

JdbcTemplate动态多数据源配置

一、前言多数据源的配置,是一个相对比较常见的需求。什么是数据源?数据源就是javax.sql.DataSource,所有实现了这个接口的DataSource就叫做数据源,现在比较常用阿里巴巴的DruidDataSource,支持监控多数据源下的sql运行状况,便于以此实现以sql为核心的应用系统,比如BI报表系统、BI工具、ETL工具等。而这些场景下的业务sql通常是属于动态数据源,它们的...

2019-09-04 22:44:24

Tomcat原理之手写

目录一、准备工作1.1 Tomcat概要1.2 技术储备二、实现步骤三、相关类的实现和介绍3.1 包结构3.2 Servlet配置类3.3 Tomcat实现类3.4 请求响应实现类Request/Response3.5 工具类HttpUtil/FileUtil3.6 Servlet抽象和测试实现类四、测试运行4.1 成功请求servlet(200...

2019-09-03 23:21:05

数据库连接池原理之手写

目录一、准备工作二、非连接池方式三、自定义连接池方式3.1 自定义连接池3.2 运行测试自定义连接池3.3 技术总结答疑环境:jdk1.8,MySQL 5.5.41,mysql-connector-java-5.1.26.jar,lombok-1.18.6.jar 需求:我们常用各种数据库连接池,如druid、c3p0、dbcp、tomcat-jdbc或是Spr...

2019-08-19 00:13:31

HandlerMethodArgumentResolver用于统一获取当前登录用户

目录一、最原始直接二、AOP三、拦截器+方法参数解析器3.1 自定义权限拦截器3.2 自定义参数注解3.3 自定义方法参数解析器3.4 配置MVC环境:SpringBoot 2.0.4.RELEASE 需求:很多Controller方法,刚进来要先获取当前登录用户的信息,以便做后续的用户相关操作。 准备工作:前端每次请求都传token,后端封装一方法to...

2019-08-15 18:46:09

Swagger无法打开API详情文档的问题

Swagger是目前很流行的API文档,随便去github上翻一翻别人的项目(唯品会分布式调度平台Saturn、开源BI工具Davinci等),都加入了Swagger来管理。它很方便地解决了前后端关于接口文档的痛点,又相当于一个在线的Postman,便于接口测试,更多好处就不多说了。今天的话题是,是否在文档查看过程中,遇到过某些接口点不开的情况,如下:当然,你可以点击“ExpandO...

2019-08-15 12:09:52

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获取
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条Blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。