自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 rust 安装之后 没有link的错误

rust 安装之后 没有link的错误官方说要安装vstio 相关工具,并安装 c++相关选项,但是太大了。下面介绍一个简单的方法:rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu依次执行以上两个命令即可。注意第一个命令执行起来有时候可能会超时,多执行几次就行。耐心一点。...

2021-08-23 17:34:00 370 1

原创 springcloud 启动失败无法加载某个bean

springcloud 启动失败无法加载某个bean1 首先同样的git springcloud项目,其它人都能启动,唯独我的不行,我试了很多方法,甚至冲装了idea,但是没什么卵用。(期间我百度了大量的内容,没有什么卵用)2 最后还是跟踪代码了。我找到对应的无法加载的bean,但是idea提示它将被注入。他在另一个 Configuration 类中被装载,然后我发现这个配置类有一个条件判断 @ConditionalOnProperty(“xx.xx.xx”)然后往前查看错误,提示xx.xx.x

2021-08-19 17:25:01 639 1

原创 BlockHound reactive spring 开发必备

BlockHound他是reactor 项目下的一个工具项目,可以检测来自非阻塞线程的阻塞调用的Java代理。我们再响应式开发中可能会无意写了阻塞的代码,但这并不会影响车程序的运行,但它实际上确实属于一种不好的代码,然而我们仅凭经验往往无法看出代码是否存在问题这个时候 BlockHound 就派上了他的用场:BlockHound将透明地检测JVM类并拦截阻塞调用(例如IO),如果这些调用是由标记为“非阻塞操作”的线程执行的(例如:线程实现了Reactor的非阻塞标记接口,比如Schedulers.pa

2021-07-03 09:29:47 544

原创 Unknown authentication method -> ‘caching_sha2_password‘

Unknown authentication method -> ‘caching_sha2_password’在使用 r2dbc 的时候使用了 jasync-r2dbc-mysql 驱动,连接MySQL 8.0 的时候出现了错误:Unknown authentication method -> ‘caching_sha2_password’MySQL 8.0 默认的 default_authentication_plugin 是 caching_sha2_password,我们只需要在m

2021-07-02 22:48:50 855

原创 R2DBC Unable to create a ConnectionFactory for ‘ConnectionFactoryOptions

R2DBC Unable to create a ConnectionFactory for 'ConnectionFactoryOptions我是用的是:com.github.jasync-sql:jasync-r2dbc-mysqlCaused by: java.lang.IllegalStateException: Unable to create a ConnectionFactory for 'ConnectionFactoryOptions{options={database=r2jdbc

2021-07-01 16:04:10 1879

原创 spring-cloud-stream 3.x

spring-cloud-stream 3.x依赖:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-stream-rabbit</artifactId> <version>3.1.3</version></dependency>示例代码@Spri

2021-06-25 10:47:41 1502 1

原创 project reactor

project reactor (2)以编程方式创建序列同步 generate以编程方式创建Flux的最简单形式是通过generate方法,该方法带有一个generator函数。这用于同步发射和一对一发射,这意味着接收器是SynchronousSink,并且其next()方法在每次回调调用中最多只能调用一次。 然后,可以另外调用error(Throwable)或complete(),但这是可选的。简单示例:Flux<String> flux = Flux.generate(

2021-05-28 17:51:36 138

原创 project reactor

project reactor (1)注意,本文讲解一句官方文档 https://projectreactor.io/docs/core/release/reference/#flux;同时对于其中过期的api也会进行适当扩展。核心fluxan Asynchronous Sequence of 0-N Items一个表示 包含0-n个元素的 异步序列。monoan Asynchronous 0-1 Result一个表示 包含1个元素或者没有元素的 异步结果。创建并订阅flux和mono

2021-05-28 16:27:01 540

原创 rabbitMQ 队列过多导致性能问题解决思路

rabbitMQ 队列过多导致性能问题解决思路最近在使用 事件驱动(eventdrive)的方式架构一个新的实验项目,发现在这样的方式下逻辑稍微复杂会需要创建不少的 queue,几乎是每一个消息都需要新增一个queue,AMQP协议本身 是exchange对应queue,消费者消费queue,而queue的数量过多会直接影响 rabbit 本身的性能,rabbit本身不能帮我们解决这样的问题,因此我们需要自己从设计方面来解决这个问题。第一种方式:一个队列接受多种类似的消息,message header

2021-05-23 18:30:48 2588

原创 json 日期格式化

json 日期格式化开发中使用 gson和fastjson写了一个简单的对象json互转的类,我们序列化使用了gson,反序列化使用fastjson,这样能兼顾二者的有点和避免缺点。由于fastjson是国人开发的默认的日期格式化是*“yyyy-MM-dd HH:mm:ss”*,而gson不是这样在包含日期字段的对象进行相互操作的时候会出错,因此需要为gson单独添加指定的 日期格式化 。import com.alibaba.fastjson.JSONObject;import com.googl

2021-05-23 18:14:55 3032

原创 自定义 Validat 校验注解

自定义 Validat 校验注解目标:实现校验手机号字段1 加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId></dependency>2 定义注解package cn.lucky.common.annotation.valida

2021-05-16 09:18:57 297

原创 maven 多模块打包常见问题

1 父模块 packaging 一定要定义为 pom。2 如果使用springboot,请讲springboot版本 依赖放在 dependencyManagement 中,而不是直接写 parent。3 引入了web starter 的 模块一定要定义 主运行类 application4 提示找不到类,但是代码中没有报错的时候,clear 然后再install。...

2021-05-15 17:52:33 162

原创 ModelMapper 性能测试

ModelMapper 性能测试这里只是给出性能测试,没有评判ModelMapper,项目中是否使用ModelMapper完全取决于个人import org.modelmapper.ModelMapper;/** * @author lucky */public class Test { public static void main(String[] args) { SourceModel sourceModel = new SourceModel();

2021-05-13 11:35:11 447

原创 淘宝HSF

淘宝HSF淘宝HSF是淘宝内部的一套服务框架,性能传说比dubbo好,但是与淘宝本身的业务耦合严重无法开源,那么这里的耦合严重具体是如何体现的?下面来看关于HSF组成的介绍(参考《企业IT架构转型之路》)1 服务提供者。在服务框架中真正提供服务功能实现的应用实例,为了保障服务提供的高可用性,一般均是集群部署。每一个 HSF的应用均是以 War包的形式存在,运行在阿里巴巴优化定制后的Tomcat容器中,在Tomcat容器层已经集成了HSF服务框架对服务提供者或服务调用者进行配置服务器发现、服务注册、订阅

2021-04-30 10:24:31 688 1

原创 ConcurrentHashMap 的线程安全性的理解

ConcurrentHashMap 的线程安全性的理解从学习java的时候我们就知道一个说法:ConcurrentHashMap 是线程安全的。但是比你是否真的理解了这个所谓的线程安全?看一段代码:这是我们通常情况下使用synchronize关键字实现自己操作map的线程安全,如果我们再使用ConcurrentHashMap 替换上面的hashmap,代码仅仅去掉synchronize关键字,如下:上面的代码其实是有问题的。ConcurrentHashMap 所谓的线程安全指的是Concurre

2021-04-29 10:11:49 386

原创 java SPI机制示例

java SPI机制示例SPI的全称是Service Provider Interface,起初是提供给厂商做插件开发的。Java SPI使用了策略模式,一个接口多种实现。我们只声明接口,具体的实现并不在程序中直接确定,而是由程序之外的配置掌控,用于具体实现的装配。具体步骤如下:(1) 定义一个接口及对应的方法。(2) 编写该接口的一个实现类。(3) 在META-INF/services/目录下,创建一个以接口全路径命名的文件,如com.spi.Hello(4) 文件内容为具体实现类的全路径名,

2021-04-19 17:48:44 132

原创 GitHub 提交pr

GitHub 提交pr笔者这个pr属于小白类型的,只是简单地增加了两个常量类(容错模式常量和负载均衡常量)1 首先是在使用框架过程中发现了bug或者其它非bug性的使用建议,此时你可以再GitHub找到源码项目,先向它提一个issue:2 随后在弹出框填写你的问题(标题和内容),这里不再展示填写过程,注意表达尽量言简意赅,站在审核者的角度想一下自己的描述。注意一定要使用英文,尽管可能有些开源框架是国内有些团队在维护,比如上面的Apache dubbo。这是笔者的issue截图,第一次问题描述就没有太

2021-04-16 19:09:23 558

原创 springboot整合最新dubbo

springboot整合最新dubbo提供者1 创建父pom工程,里面创建两个model,一个是接口model,一个是实现。父pom:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoc

2021-04-11 09:03:29 135 1

原创 windows安装最新的zookeeper

1 官方网站:点击下载即可(注意:一定是带bin的压缩包)2 安装:解压压缩包,安装Git软件,然后再压缩包目录下打开Git bash,然后执行 tar -zxvf xxx.tar.gz得到解压文件进入安装目录,创建data和log文件夹。找到conf,进入里面修改zoo_sample.cfg,然后将文件保存重命名为zoo.cfg.最后到bin目录下,打开cmd窗口,执行 zkServer.cmd,表示启动成功,过程中注意端口占用问题即可。...

2021-04-10 20:03:47 94

原创 关于自学java的所有疑问

标题关于自学java的所有疑问废话不多说,直接答疑。(以下作为一般人的情况,如果 君 是天才级别,那么此篇文章将不适合/捂脸)1 文科生适合学编程吗?这要看你的目的性了,如果你是为了学习编程获得一份工作,那么完全没有问题,任何人都能够学习编程。这个问题就像:我适合学习写作、或者适合学习画画吗?如果你是为了一份糊口的工作,那么都是没有问题的。(笔者大学是:思想政治教育专业)如果你学习编程的目的是为了改变世界,就像你学些写作和画画是为了成为作家或者画家,那么你应该细细考虑一下了。(你需要承认一件事:这个

2021-04-10 15:28:44 87

原创 spring AMQP 中文文档翻译

标题spring AMQP 中文文档翻译spring AMQP 实现: spring rabbit 官方中文文档翻译最初是由于 找不到 ConfirmType中SIMPLE和 CORRELATED的区别,然后去查看官方文档,然后文档也是说的模糊不清,也事在查看文档的过程中,我发现自己对rabbit的使用太过简单了,然后就开始 开始依靠谷歌翻译结合自己的理解进行了翻译。由于资历尚浅,翻译大部分是照本宣科式的(不求star,只是单纯地分享而已,各位看官不喜勿喷),但还是尽量将语言按照我们习惯的方式进行了翻

2021-04-05 09:05:17 313

原创 springcloud alibaba 整合 nacos

springcloud alibaba 整合nacosnacos作为服务注册和发现,它的使用稍微不同于 Netflix 的 Eureka,nacos不需要开发者提供一个服务注册service,而是作为一个服务注册软件提供给开发者,开发者只需要开发服务即可,然后将其注册到nacos。下面给出最新版的整合:注意官方给出的最新版是 Spring Cloud 2020.0 +Spring Cloud alibaba 2020.0.RC1+springboot2.4.2,单笔者在此版本组合开发中遇到一些未知

2021-03-28 16:27:44 183

原创 Nacos 启动失败

Nacos 启动失败首先注意你的本级环境:最新版的nacos需要JDK 1.8+ 和 Maven 3.2.x+,却确认配置好了对应的环境变量然后就是启动的时候不能直接双击 bin 目录下的 startup.cmd,我们要以 startup.cmd -m standalone 的命令启动,表示是单机启动,不是集群。如果你刚开始不小心直接点击了 startup.cmd,那么需要你关闭命令窗口,然后删除bin 目录中刚生成的 work 和logs 文件夹,重新打开命令窗口执行 startup.cmd -

2021-03-28 09:37:47 6189 6

原创 Table configuration with catalog null, schema null, and table author} did no

Table configuration with catalog null, schema null, and table author} did no其实配置跟着官方文档来就行,需要注意的事开发工具的坑<table tableName="${tableName}}" > </table>注意我的表名是配置在配置文件中的,所以使用了表达式的方式获取值,但是工具自动多加了一个}–》KaTeX parse error: Expected 'EOF', g

2021-03-27 18:03:29 1690

原创 springboot 整合最新rabbitMQ

springboot 整合最新rabbitMQpom<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency><!--非必须--><dependency> <groupId>org.proj

2021-03-27 09:55:30 211

原创 redisTemplate 的pop和remove

redisTemplate 的pop和removeredis作用不仅仅作为缓存,因为它是单线程的,我们还可以作为原子性操作来保证数据的操作正确性,配合set 数据类型很容易做到接口幂等操作。当我们首先将操作唯一id放入set中去,操作成功之后我们将要移除此个数据,此时的移除操作有两个选择: pop 和 remove 。首先是pop 操作:有两个重载的方法@NullableV pop(K key);* @param key must not be {@literal null}.* @para

2021-03-23 09:57:13 2516

原创 Java8并行流(parallelStream)注意点

**Java8并行流(parallelStream)注意点**在最初使用并行流的时候,查询列表会偶尔性报空指针异常,这令我非常纳闷,代码是这样的:List<OrderListVO> orderListVOS = new LinkedList<OrderListVO>();baseOrderBillList.parallelStream().forEach(baseOrderBill -> { OrderListVO orderListVO = new Orde

2021-03-19 09:19:17 1692

原创 nested exception is java.sql.SQLException: MONTH

**nested exception is java.sql.SQLException: MONTH**看一下完整的异常栈这里的问题是由于 api 数据库日期装换data类型报错, 这里是月份无法转换,经过排查看一下数据库中的错误数据:这里是由于前段数据入库的时候数据库本身没有做校验,导致不合法的数据填入,修改了这种数据即可。为了避免这种数据的产生,我们可以再业务层进行数据合法性判断。...

2021-03-19 08:49:52 1412 3

原创 spring-cloud security 引起的安全认证错误

spring-cloud security引起的安全认证错误使用时注意两点:一个是defaultZone的地址写法`security: basic: enabled: true user: name: pjx password: 789server: port: 8761eureka: client: healthcheck: ...

2018-07-25 19:08:58 1643

ddd-springcloud-stream.zip

ddd-springcloud-stream.zip

2021-06-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除