原创 動態修改spring 事務的屬性

       有這樣一個需求,某分庫分表中間件做了讀寫分離的路由,依據的是事務的readOnly屬性。但是讀寫分離會有一定的延遲,因此不適合將全部讀操作都放在從庫,而是應該將部分實時性依賴低的查詢操作放在從庫,但是接口都是統一提供的,想根

原创 基於註解掃描的高性能 mybatis 自動加解密攔截器實現

背景:工作中經常對於數據庫的某些敏感字段需要密文存儲,爲了解放加解密的邏輯嵌入在業務流程中,我利用mybatis 的攔截器機制實現了自動加解密的功能,讓業務代碼更專注於業務。  1,創建一個自定義註解來標註需要自動加解密的PO字段,如下

原创 intellij 自動生成mybatis 代碼+分頁器,操作指南

1,一直以來我都在使用號稱mybatis 最好的分頁器:mybatis-paginator: https://github.com/miemiedev/mybatis-paginator 2,最近換了工作到了狗廠,業務部門需求多變,開發任

原创 基於mybatis 攔截器修改sql

背景:公司的分庫分表中間件有一個自定義路由的功能,即指定需要路由的表後綴,需要在sql尾部加一段參數來指向該表 因此寫了一個攔截器來實現這個功能,因此如果您需要利用攔截器來修改sql的話可以參考此方法   達到的效果:mybatis的 m

原创 httpclient 4.X 異步 async util

自己利用httpClient4.x 寫了一個異步 工具 異步請求適用於與用戶無關的批量操作,比如發短信,或者請求第三方等。 依賴: <httpclient.version>4.5</httpclient.version>

原创 高訪問量頁面優化實戰 require.js+cache

先介紹一下使用場景: 最近給公司一個訪問量很大的頁面做優化,頁面如下圖 拿到這個頁面後就先來分析分析這個頁面的問題 1,首先這個頁面是jsp的,全部是服務器端生成的頁面,在訪問量很大的情況下也沒法使用緩存加速,因爲數據都耦合在一起

原创 flume-ng 1.6.0 和 elastic-search 2.3.5 一起玩 elasticsearchSink

flume 1.6.0提供的 elasticsearchSink  和 elastic-search2.3.5不兼容, 在網上找了幾個版本後都無法使用。 所以只能自己改源碼了。。。。。。 1,將 flume /lib 下的 guava

原创 maven 打可執行jar

做個短信項目全是socket,突然發現自己好像只會打war包,都是給tomcat 或者jetty用的 下面就講一下怎麼打一個可執行的jar 可執行jar 中有個MANIFEST.MF 文件指明瞭開始的入口,和lib等,內容如下 Man

原创 使用maven 自動爲 js/css加版本號

原理就是使用 maven-replacer-plugin 替換html 中的 js、css 等,難點主要是maven-war-plugin的生命週期的問題,參考配置如下: <plugin> <gro

原创 bootstrap-datatimpicker 調教

爲了要上面的效果,進行下面的配置,具體就是設置了幾個參數:startView,minView,maxView <!DOCTYPE html> <html> <head> <title></title> <link hre

原创 爲mybatis 增加通用的crud 方法

在項目開發中使用mybatis 經常要對着一個 db 對應的對象寫 crud 方法,這是很惱人的 比如下面的表 對應的 bean 如下 import java.util.Date; public class DBEntityTe

原创 redis+lua腳本實現滑動窗口算法

分佈式環境下實現流量控制是比較麻煩的事,爲了精確控制,採用滑動窗口算法。 通常的流量控制,採取一段時間內的發送數量與閥值對比,這樣會造成 A 時間段不超過閥值,B時間段也不超過閥值,但A 和B直接的時間段超過閥值。 這裏採用的算法的思想

原创 VMware Nat 網絡設置 red hat centos 固定ip

爲了測試 elasticsearch 的集羣,在VM裏搞了,三臺虛擬機 一臺是 redhat64 位, 兩臺是centos 32位, 首先三臺機子網絡都選擇 nat 模式 接下來打開虛擬機應該就可以上網了,不過這時候是動態ip

原创 cron 衝突檢測,檢查多個cron表達式執行時間點是否有重合

基於spring 的  CronSequenceGenerator 修改,增加了年的檢測,年支持到1970~2099年package com.hshbic.cloud.rcs.common.util; import org.quartz

原创 內存延遲隊列實現DelayQueue

jdk 提供了延遲隊列:java.util.concurrent.DelayQueue我們基於 DelayQueue 實現一個固定時間的延遲隊列下面是固定延遲時間的裝飾類實現,demo 在下面的main方法中/** * Bestpay.