- 博客(57)
- 资源 (3)
- 收藏
- 关注
原创 java中RabbitMQ的使用
SpringBoot整合RabbitMQ使用Spring Cloud Stream对RabbitMQ进行消息发送使用 Spring Cloud Stream 构建消息驱动微服务
2021-01-24 14:42:16 225
原创 java多线程中的概念
线程内存模型参考:多线程-内存模型java线程详解概述:每个线程都有自己的工作内存,在JVM层面,包含:程序计数器线程栈线程分类常规划分为两类:用户线程:除守护线程都是用户线程守护线程:为用户线程提供一种通用的服务,典型如GC线程,当进程中不存在非守护线程,则守护线程会自动销毁用户线程转变为守护线程:用户线程在start之前可以通过setDaemo(true)来转变为守护线程。如果在start之后调用setDaemo(true),将会throw IllegalThreadS
2021-01-24 11:45:43 179
原创 Docker Compose部署Redis
单机version: '2'services: redis: image: redis:buster container_name: docker_redis_single volumes: - /usr/local/docker/redis/data:/data - /usr/local/docker/redis/conf/redis.conf:/etc/redis/redis.conf - /usr/local/docker/redis
2021-01-24 11:29:33 169
原创 RabbitMQ学习笔记-02.消息
持久化消息指消息想要从Rabbit崩溃中恢复,那么消息必须:把投递模式(delivery mod)设置为 2,即持久发送到持久化的交换器到达持久化的队列如何保证消息发送成功方法1使用发送方确认机制,只有消息安全到达了队列后,RabbitMQ会向生产者发送一条确认消息,生产者可以根据确认消息进行相关函数的回调方法2如果消息没有匹配路由,则可以在发布消息的时候加入mandatory参数,设置为true,则未路由的消息可以返回给生产者,生产者可以通过添加ReturnListener监听器来去
2021-01-23 21:48:02 237 1
原创 RabbitMQ学习笔记-01.入门
是什么一个基于AMQP(高级消息队列协议)的消息中间件。如何安装windows,linux,docker安装RabbitMQ的安装docker-compose安装version: '2'services: #rabbitmq container rabbitmq: #setup host name hostname: rabbit1 container_name: rabbit1 #use docker images image: rabbitm
2021-01-23 21:44:40 180
原创 RocketMQ笔记4-顺序消息
简介消息有序指的是可以按照消息的发送顺序来消费(FIFO)。RocketMQ可以严格的保证消息有序,可以分为分区有序或者全局有序。全局有序:发送和消费参与的queue只有一个,效率低,不推荐分区有序:有多个queue,但是每个queue中的消息的发送和消费都是有序的要点消息顺序发送单线程同步发送消息顺序储存重写MessageQueueSelector接口中的select() 实现消息路由到一个queue消息顺序消费设置该监听器MessageListenerOrderl
2021-01-23 21:41:29 111
原创 RocketMQ笔记3-事务型消息
事务型消息简介RocketMQ事务消息(Transactional Message) 是指应用本地事务和发送消息操作可以被定义到全局事务中,要么同时成功,要么同时失败。RocketMQ的事务消息提供类似 X/Open XA 的分布事务功能,通过事务消息能达到分布式事务的最终一致。过程阶段一(发送消息,执行本地事务,更行消息状态)发送消息(half消息)服务端响应消息写入结果根据发送结果执行本地事务(如果写入失败,此时half消息对业务不可见,本地逻辑不执行)根据本地事务状态执行Co
2021-01-23 21:40:55 131
原创 RocketMQ笔记2-主从模式
主从模式2n1m1s主从搭建可以保障消息的即时性与可靠性,主从节点可以消息同步主节点挂掉,从节点无法接收消息,但是可以提供消费者数据进行消费主节点重新上线后进行消费进度offset同步生成者核心参数producerGroup: 组名,一个应用只有一个defaultTopicQueueNums:在发送消息时,自动创建服务器不存在的 topic,默认创建的队列数sendMsgTimeout:发送消息超时时间,如果无法将消息发送到Broker,重试compressMsgBodyOver
2021-01-23 21:39:41 541
原创 RocketMQ笔记1-简介-单点模式-生产者消费者的使用-工作流程
简介RocketMQ是一款分布式,队列模型的消息中间件 RocketMQ开发者指南单机版安装通过docker安装RocketMQ Server + Broker + Console,至少需要 2G 内存docker-compose.yml 如下:version: '3.5'services: rmqnamesrv: image: foxiswho/rocketmq:server container_name: rmqnamesrv port
2021-01-23 21:38:37 332
原创 通过log.io对各日志文件进行汇总查看
Node.js 安装菜鸟教程Node.js安装设置 npm 淘宝镜像npm config set registry https://registry.npm.taobao.orgnpm config get registrylog.io简介官网地址github地址安装服务端npm install -g log.io 配置服务端找到 log.iovi log.io/config.json内容如下,根据自己的要求设置port和host{ "messageServ
2021-01-23 21:33:31 522
原创 docker安装 Elasticsearch+Kibana
前提安装了docker,docker-compose,pull了相关的镜像,创建了相关的存放目录本文相关环境如下:linux:ubuntu:16.04docker version:19.03.1docker-compose version:1.24.1elasticsearch kibana version:7.3.0docker 安装docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --name
2021-01-23 21:27:14 99
原创 docker-compose 安装nginx
默认已经安装好了 docker-compose配置创建目录根据自己的需要存放位置mkdir -p /usr/local/docker/nginxmkdir -p /usr/local/docker/nginx/data/conf.dmkdir -p /usr/local/docker/nginx/data/logmkdir -p /usr/local/docker/nginx/data/confdocker-compose.ymlvi /usr/local/docker/ngin.
2021-01-23 21:25:17 2279
原创 SpringBoot项目中的定时任务实现方法
@Scheduled注解开启条件在启动类上加上 @EnableScheduling 注解示例:@EnableScheduling@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }}使用方式作用在方法上可选参数:(常用)cron,fix
2021-01-23 21:02:41 310
原创 log.io日志实时显示
Node.js 安装菜鸟教程Node.js安装设置 npm 淘宝镜像npm config set registry https://registry.npm.taobao.orgnpm config get registrylog.io简介官网地址github地址安装服务端npm install -g log.io配置服务端找到 log.iovi log.io/co...
2020-07-18 11:24:00 31
原创 (转载)SpringBoot Api接口防刷
aop+redis实现ip请求方法防刷引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><!--...
2020-06-04 22:50:00 73
原创 FastJson的使用
FastJson通过maven引入依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.46</version></dependency>...
2020-05-06 21:28:00 36
原创 (收藏)SpringSecurity系列博文
Spring Security添加图形验证码Spring Security添加记住我功能Spring Security短信验证码登录Spring Security Session管理Spring Security OAuth2入门Spring Security OAuth2自定义Token获取方式Spring Security OAuth2自定义令牌配置Spring Securi...
2019-11-09 21:51:00 32
原创 SpringSecurity笔记2-自定义认证
自定义用户说明用户名和密码一般存储于数据库中,表单输入的用户名和密码与数据库查询出来的用户名和密码进行比对以下例子为SpringSecurity5.x实现UserDetailsService接口@Servicepublic class UserService implements UserDetailsService { @Override public Use...
2019-11-09 18:46:00 28
原创 SpringSecurity笔记1-初印象
简介SpringSecurity是一个基于javaEE安全管理框架,主要功能为认证和授权Spring Security 参考手册基本原理Spring Security 工作原理概览简单流程客户端发起一个请求,进入 Security 过滤器链。当到 LogoutFilter 的时候判断是否是登出路径,如果是登出路径则到 logoutHandler ,如果登出成功...
2019-11-08 23:59:00 33
原创 Java多线程基础
线程内存模型参考:多线程-内存模型java线程详解概述:每个线程都有自己的工作内存,在JVM层面,包含:程序计数器线程栈线程分类常规划分为两类:用户线程:除守护线程都是用户线程守护线程:为用户线程提供一种通用的服务,典型如GC线程,当进程中不存在非守护线程,则守护线程会自动销毁用户线程转变为守护线程:用户线程在start之前可以通过setDaemo(true)来转...
2019-10-06 17:15:00 17
原创 (转)IDEA ERROR:找不到或无法加载主类
一首先要检查你的编译输出路径File----project struture,如图二网上的解决办法一般使用第一步就解决了,但是我遇到的问题比较奇葩,我的项目结构是一个工程下面多个模块,如图三我要运行registry模块下面的某个类,一直报找不到或无法加载主类,其实我已经按照第一步配置好了路径,后来发现是因为父工程的source folder被设置成registry模块的sourc...
2019-09-15 17:38:00 31
原创 java中应对高并发的两种策略
目的:提高可用性通过ExecutorService实现队列泄洪//含有20个线程的线程池private ExecutorService executorService = Executors.newFixedThreadPool(20);将有并发压力的下游代码放入到线程池的submit方法中,如下://同步调用线程池的submit方法 简单实现 拥塞窗口为20的队列泄洪(一个服务...
2019-09-13 15:45:00 27
原创 Java中的验证码实现
实例:/** * Created by hzllb */import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.awt.image.RenderedImage;import java.io.FileOutputStream;import ja...
2019-09-13 15:17:00 25
原创 (转) Lua之coroutine基础
感觉是比较老的文章了,但是对于我这种新手还是很有帮助的v_v一、基本环境:Microsoft Windows XP/Service Pack 2Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio二、 coroutine的接口:(1) coroutine.create()(2) coroutine.resume()(3) corou...
2019-09-04 17:17:00 45
原创 SpringBoot加入Guava Cache实现本地缓存
也可以参考这里在pom.xml中加入guava依赖1 <dependency>2 <groupId>com.google.guava</groupId>3 <artifactId>guava</artifactId>4 <version>18.0</versi...
2019-09-04 12:03:00 65
原创 CentOS7安装Mysql
说明:命令从上往下yum install mysql* 安装mysql相关依赖yum install mariadb-serversystemctl start mariadb.servicemysqladmin -u root password xxxx 设置root用户密码mysql -uroot -p xxxx 登录mysqlgrant all privileges o...
2019-08-29 08:43:00 22
原创 SpringBoot中全局异常处理
参考:这里统一返回UI格式类型 1 public class CommonReturnType { 2 //返回给UI的数据 3 private Object data; 4 //返回给UI的状态 5 private String status; 6 7 public static CommonReturnType create(Obj...
2019-08-27 20:18:00 23
原创 Docker-Compose简单使用
参考文档Compose 快速入门简介Compose项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。开源地址在这Compose定位是 「定义和运行多个 Docker 容器的应用」Compose中有两个重要的概念:服务 (service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。项目 (project):由一组关联的应用容器...
2019-08-01 00:02:00 25
原创 Docker简单部署Mysql 5.7
获取镜像1 docker pull mysql:5.7.22启动mysqldocker run -p 3306:3306 --name mysql \-v /usr/local/docker/mysql/conf:/etc/mysql \-v /usr/local/docker/mysql/logs:/var/log/mysql \-v /usr/local/docker/my...
2019-07-31 19:12:00 25
原创 IntelliJ IDEA 常用快捷键
Ctrl + Alt +S 打开设置连按两下shift 查找Ctrl + Alt + L 格式化代码Alt + Insert (已自定义为Alt + i)生产面板Ctrl +D (自定义删除当前行)Ctrl + Y (自定义复制当前行)Ctrl + o 重写方法Ctrl + i 实现方法Ctrl + R 内容替换iter 生成增强foritli l...
2019-07-31 12:05:00 27
原创 Dockerfile定制镜像入门
参考文档简单案例Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。在一个空白目录中,建立一个文本文件,并命名为Dockerfile:1 $ mkdir mynginx2 $ cd mynginx3 $ touch Dockerfile其内容为:1 FROM nginx...
2019-07-30 22:24:00 19
原创 Docker常用命令
镜像(Images)下载镜像:1 docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]例如:(如果不写标签号,则默认为lastest)1 docker pull ubuntu:16.04查找镜像:1 docker search httpd查看下载的镜像:1 docker images删除镜像:1 dock...
2019-07-30 16:40:00 23
原创 Docker简单入门
参考文档1 文档2一:Docker简介Docker是一种容器技术,容器技术是实现操作系统虚拟化的一种途径。与传统虚拟机相比:虚拟机:每台虚拟机都需要有自己的操作系统,虚拟机一旦被开启,预分配给它的资源将全部被占用。Docker:宿主机共享硬件资源及操作系统,可以实现资源的动态分配。容器包含应用和其所有的依赖包,但是与其他容器共享内核。容器在宿主机操作系统中,在用户空间以分离的进程运...
2019-07-30 14:43:00 21
原创 SpringBoot学习笔记6_整合Redis
三十四 SpringBoot整合Redis(结合 SpringBoot整合Mybatis)34.0 该案例是实现单机版Redis整合34.1 相关依赖 1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <...
2019-07-27 22:52:00 32
原创 Maven集成 springboot 有两种方式
文章来源:https://www.cnblogs.com/cxygg/p/9559618.html1 直接 父项目指向 springboot1 <parent>2 <groupId>org.springframework.boot</groupId>3 <artifactId>spring-bo...
2019-07-27 21:00:00 42
原创 SpringBoot学习笔记5-整合Email-文件上传-Neo4J-打包为war包
二十九 SpringBoot整合Email以下演示的是简单邮件发送29.1 加入相关依赖 1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-sta...
2019-07-26 21:35:00 101
原创 SpringBoot学习笔记4-整合Jdbc Template-Mybatis-多数据源-事务管理-JPA
二十三 SpringBoot整合JdbcTemplate23.1 添加相关依赖(已经添加了spring-boot-starter-web) 1 <!-- JdbcTemplate的依賴 --> 2 <dependency> 3 <groupId>org.springframework.boot...
2019-07-24 11:40:00 37
原创 SpringBoot学习笔记3-自定义拦截器-全局异常处理-Freemarker-Thymeleaf-定时任务调度...
十六:自定义拦截器参考文档16.1 编写拦截器类 extendsWebMvcConfigurerAdapter并重写WebMvcConfigurerAdapter,如下: 1 package com.wu.interceptor; 2 3 import javax.servlet.http.HttpServletRequest; 4 import javax.servle...
2019-07-22 16:42:00 30
原创 SpringBoot学习笔记2-日志管理-开发模式-web开发-FastJson
九:创建父工程注意:打包方式选择为pom将创建SpringBoot常用的依赖和插件放在父工程的pom.xml,如下: 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:...
2019-07-20 21:18:00 36
原创 SpringBoot学习笔记1-简介-全局配置文件-starter-profiles-自动配置原理
参考教程1,教程2一:SpringBoot简介目的:简化Spring 应用的初始搭建以及开发过程优势:1,快速建立独立运行的Spring项目以及与主流框架集成2,使用嵌入式的Servlet容器,应用无需打成war包3,starters(启动器)自动依赖与版本控制4,大量的自动配置,简化开发,也可以修改默认值5,无需配置xml,无代码生成,开箱即用5,准生成环境的运行时应用监控...
2019-07-20 18:09:00 516
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人