原创 Dubbo超時重發導致服務被執行多次,數據不一致的問題

現象:服務消費者調用一次,在服務端會被執行3次,如一個充值100的請求,最後到賬300。 充值前的餘額 調用充值100後,由於某種原因導致失敗,然後重發了3次,如下 再查一下餘額,由100.22變成了400.22,重複充值了3

原创 Java反射類方法isAnnotationPresent(Class)無法判斷方法是否包含註解問題

現象:當類的方法使用Spring事務註解@Transactional後,再使用isAnnotationPresent(Class)判斷類方法是否包含註解時,會一直返回false,無法正確獲取類方法註解。 測試代碼 方法註解@Job

原创 Idea發佈項目到Gitee時提示push to origin/master was rejected

1、打開git命令窗口 2、切換到要提交的代碼目錄 3、執行以下命令 git pull git pull origin master git pull origin master --allow-unrelated-histori

原创 mysql 8.0忘記密碼解決辦法

1、忘記root密碼,免密登錄的方法見https://blog.csdn.net/q283614346/article/details/90732968 2、修改root密碼 # 切換數據庫 use mysql; # 查看所有用

原创 Mysql 8查看並修改事務隔離級別

Mysql 8的默認事務隔離級別爲REPEATABLE-READ(重複讀) 官方文檔13.3.7 SET TRANSACTION Statement 查看事務隔離級別 MySQL8查詢事務應該使用transaction_isola

原创 Ubuntu 16.04啓動Zookeeper報[[: not found,-p: not found錯

現象:Ubuntu 16.04啓動Zookeeper報[[: not found錯,如下 root@server-4:/usr/local/apache-zookeeper-3.5.6/bin# sh zkServer.sh st

原创 vi修改文件格式編碼(從dos改爲unix)

現象:有時候從window寫好的腳本文件,上傳到Linux後執行會報錯,如下 腳本很簡單,如下 #!/usr/bin/env bash ZK_SERVER_HEAP="${ZK_SERVER_HEAP:-1000}" echo

原创 解決Dubbo中生產者未啓動,消費者啓動報錯的問題

環境 spring boot 2.1.1.RELEASE dubbo version 2.7.3 現象 Dubbo服務有依賴時,如A依賴B。B依賴C,那必須要按順序先啓動C,再啓動B,最後再啓動A。不然A,B都無法啓動。會報錯In

原创 解決SpringMVC返回字符串亂碼問題

現象:SpringMVC返回的結果中文亂碼,返回的編碼是ISO-8859-1 原因:spring MVC有一系列HttpMessageConverter去處理@ResponseBody註解的返回值,如返回list或其它則使用 M

原创 java 8 日期工具類

import java.sql.Timestamp; import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; im

原创 谷歌Unchecked runtime.lastError: The message port closed before a response was received.錯誤導致請求重發

現象:最新項目有個奇怪的現象,就是一個請求會被執行2次,只收到一次返回結果。 模擬場景如下:一個存錢交易,存100,能收到200,部分代碼(是一個dubbo服務) @Reference(retries=0, timeout =

原创 上傳本地項目代碼到Gitee或Github

1、登錄Gitee創建一個與項目名字相同的倉庫,如book 2、打開Git命令窗口Git Bash 3、切換到項目的目錄,如E:\workspace\mybatis-spring\book 4、執行以下命令 # 1、初始化

原创 MySQL 8 ERROR 1093 (HY000): You can't specify target table 'xxxxx' for update in FROM clause

Mysql版本:8.0.17 現象:在mysql中同一語句中執行update語句部分值是select同一表出來的,就會報You can't specify target table 'xxxxx' for update in FR

原创 vmware主機ping不通虛擬機,但是虛擬機能ping通主機解決方法

檢查虛擬機IP 把網卡VMnet8的IPv4的IP改爲與虛擬機的IP網段一樣即可

原创 VirtualBox 6.0虛擬機安裝Ubuntu server 16.04

一、系統安裝 打開VirtualBox,點【新建】 輸入虛擬機名稱、存放位置、系統類型和版本,點【下一步】,如下 設置內存大小,然後點【下一步】,如下 創建虛擬硬盤,點【創建】 選擇VDI,點【下一步】 選擇【固定大