原创 java servlet處理微信企業號回調模式

package cn.com.lewis.wx.servlet; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream

原创 SpringBoot自定義錯誤頁

在內嵌容器爲tomcat的情況下,springboot一個請求發生內部錯誤需要調用錯誤頁時,其實是在StandardHostValve裏查找錯誤頁,再觸發一次錯誤頁請求調用。具體代碼如下 public final void invoke

原创 postgresql熱備配置(二) 基於wal文件傳輸的溫備

基於pg連續歸檔功能做的溫備,適用於對數據延時敏感度低的環境 1 主服務器開啓連續歸檔WAL歸檔         postgresql.conf文件中(默認5分鐘寫一次日誌,我改成了10分鐘):         a) 需設置wal_le

原创 獲取package下所有class的方法

1 使用guava ClassPath classPath = ClassPath.from(Application.class.getClassLoader()); ImmutableSet<ClassPath.ClassInfo>

原创 mybatis對大量數據的遊標查詢

mapper定義 @Mapper public interface NewsRepository { String simpleQuery="select news.id,news.title,news.keywords,"

原创 centos 7製作軟raid0

es優化過程已經有一段時間了,目前觀察集羣性能瓶頸已經主要在io上,想在沒有全ssd環境得情況下測試下raid表現。具體操作其它文檔已經寫得很清楚了,這裏保留下操作提要 1、如果分區已經掛載,需要先卸載分區 umount /dev/vdb

原创 關於雙查鎖失效問題

關於雙查鎖失效問題一句話總結下整篇文章內容,在某些jdk實現中,對於對象中的單例屬性,如果這個單例屬性構造函數非默認空函數的話,雙查鎖可能會出現線程問題。 然而我在i7-4790 openjdk1.8環境下結合文章中的代碼和我自己構造的代

原创 mysql導入大量數據時jbd2 io過高效率低下問題

source一個sql大文件到本地mysql時,發現效率奇低,一秒幾十個事物左右。 iotop發現jbd2這個進程佔了99%的io。 通過以下方式臨時解決問題: mysql>set global sync_binlog=0 ; mys

原创 mybatis一級緩存失效和遊標返回問題

當集成在spring中時1、若mybatis的一個查詢方法selectCursor()想要使用遊標cursor返回數據集,必須在一個事物方法(@Transactional)中調用,否則會出現無法拉取數據的問題。2、對沒有在事物方法(@Tr

原创 /lib64/libc.so.6刪除救急

編譯hadoop 2.7.3時需要protobuf,centos6.5 直接用yum安裝的版本太低,無法完成編譯。於是從我本地ubuntu環境傳了個高版本的過去,然後發現/lib64/libc.so.6版本也太低,一時腦抽竟然想直接用我本

原创 postgresql熱備配置(一) postgresql安裝與基礎配置

1、  安裝postgresql安裝方式參見https://www.postgresql.org/download/。假定環境未Centos 6,已安裝gcc 3.6+:yum install https://download.postg

原创 兼容https和http協議的java代理服務器代碼

最近做的一個http代理小程序,同時支持http和http。 1、獲取http代理請求的頭部信息,區分https還是http,做不同的處理 /** * 解析頭部信息 * */ public final class HttpHead

原创 gradle build 生成jar前替換配置文件

第一次嘗試使用gradle,記錄一點經驗。問題:用spring boot開發的新項目,開發環境和生產環境的application.properties不一致,每次build發佈前還得先改配置文件。方案:第一反應是google一下,但翻來覆

原创 流式輸出一個矩陣所有子矩陣

//行列數 var m=5,n=6; //子矩陣行列數 var r=3,d=3; //矩陣內數值最大值 var maxNumber=16; /** * 流式序列

原创 xml字符串轉字符串樹

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader