原创 RabbitMQ學習筆記:mandatory、publisher-confirms、publisher-return屬性區別

rabbitmq客戶端發送消息首先發送的交換器exchange,然後通過路由鍵routingKey和bindingKey比較判定需要將消息發送到那個隊列queue上;在這個過程有兩個地方消息可能丟失,第一消息發送到交換器exch

原创 RabbitMQ學習筆記:Monitoring(監控)

本文概述了與RabbitMQ相關的主題。監控RabbitMQ和使用它的應用程序非常重要。監控有助於在問題影響到環境的其它部分以及最終影響最終用戶之前檢測到問題。 系統的許多方面都可以被監控,本文檔將它們分爲幾個類別: 什麼是

原创 Redisson分佈式鎖和同步器及源碼分析

1.可重入鎖(Reentrant Lock) 基於Redis的Redisson分佈式可重入鎖RLock Java對象實現了java.util.concurrent.locks.Lock接口。同時還提供了異步、反射式和RxJava2

原创 RabbitMQ學習筆記:使用Docker部署RabbitMQ集羣

RabbitMQ本身是基於Erlang編寫,Erlang語言天生具備分佈式、高併發的特性(通過同步Erlang集羣各節點的magic cookie來實現)。 因此,RabbitMQ天生支持Clustering。這使得RabbitM

原创 RabbitMQ學習筆記:CentOS7中安裝RabbitMQ集羣

安裝rabbitmq的前提是 在CentOS7中,如果是在docker中安裝,需要先創建鏡像 docker pull centos:7 創建CentOS7服務器centos7 docker run -d --privileg

原创 Maven Wrapper插件安裝使用

Maven Wrapper是一個maven插件,用於封裝提供maven項目構建時所需的一切;使用maven wrapper就可以很好的確保所有參與項目者使用相同的maven版本,同時還不會影響其它項目;安裝成功後會在項目中出現mv

原创 springboot2.3.0 javax.validation.constraints.NotBlank找不到異常

原因是2.3.0的spring-boot-starter-web沒有引入validation對應的包 查看2.3.0以前的版本,以2.2.7版本爲例spring-boot-starter-web-2.2.7.RELEASE.p

原创 Java8新特性函數式接口Function|Predicate|Consumer

名稱 類型 描述 Function Function<T, R> 接收T對象,返回R對象 Predicate Predicate 接收T對象,返回boolean Consumer Consumer 接收T對象

原创 Base64編碼作用及使用詳解

介紹:Base64是網絡上最常見的用於傳輸8Bit字節碼的編碼方式之一,Base64就是一種基於64個可打印字符來表示二進制數據的方法; 1.使用場景: Base64一般用於在HTTP協議下傳輸二進制數據,由於HTTP協議是文本

原创 RestTemplate將返回數據轉換爲指定類型

1.exchange方法中支持ParameterizedTypeReference響應類型參數,可以將返回值轉換爲任何指定的類型 @Override public <T> ResponseEntity<T> exchange(

原创 jackson序列化和反序列化@JsonProperty、@JsonGetter、@JsonSetter、@JsonFormat

1.@JsonProperty將傳遞過來的屬性值序列化爲指定的屬性名 package com.yaomy.control.test.po; import com.fasterxml.jackson.annotation.Jso

原创 Common-io工具方法讀取遠程服務器文件

/** * * @param url 服務器文件地址,如http://xxx.xx.xx.xx/a.txt * @return 文件內容 */ public static S

原创 git stash暫存操作

開發過程中經常會遇到正在做當前任務,突然又要切換到其它分支調試代碼,又不想將當前代碼提交,這時就可以使用暫存操作,等其它事情完成後可以回過頭來恢復暫存的任務繼續開發; 1.暫存操作 #查看當前狀態 git status #如果

原创 Redis存儲亂碼問題

package com.yaomy.sgrain.redis.config; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxm

原创 Redisson最新版starter模式集成

前言 redisson-spring-boot-starter最新版本是3.12.3,支持兩種配置方式,首先是完全兼容spring-boot-starter-data-redis的配置,第二可以使用redisson自己的配置方式。