原创 基於Redis的延時隊列

之前有一篇文件講到延時隊列,用的是jdk的 DelayQueue實現的。 使用jdk的DelayQueue實現的缺點: 1.基於應用內存,重啓或宕機後數據會丟失 2. 如果要集羣,不好擴展 此處基於redis做一個可用性較高的延時隊列。

原创 DelayQueue使用

DelayQueue是一個延遲隊列。在指定時間才能獲取隊列元素,隊列頭元素是即將過期的元素。 元素需要實現  Delayed 接口。該接口有兩個抽象方法,     getDelay(TimeUnit.NANOSECONDS)返回元素延遲時

原创 使用freemarker填充模板生成文件並進行上傳

場景: 後臺給定一個標準文件模板, 在頁面填寫表單保存後, 根據內容填充模板生成一個文件, 然後將其上傳. 因爲上傳功能涉及到一個文件夾配置等, 公司裏面已經封裝好一套工具, 需要給定一個File對象或者輸入流對象和一些關聯信息,調用方法

原创 IDEA莫名出現there's not enought memory to perform the requrested operation

在使用idea編碼時遇到這個問題. 一開始Xmx調的是2048. 再提示之後我將其調到4096.但還是會出現, 查看idea的內存佔用.沒有佔滿就出現這個提示. 再後來開始發現到只有在編輯較複雜jsp文件的時候會出現.考慮是不是因爲j

原创 工廠設計模式結合Spring開發

本文以簡單工廠模式爲案例。 在上網看的工廠模式的案例講解中,創建具體實現類一般是簡單new一個出來。但是在實際開發中,一般都是結合Spring來管理對象的。下面分享一種結合Spring開發的工廠模式 業務場景:一個發送消息的功能模板。有不

原创 npm運行項目的時候報錯'cross-env' 不是內部或外部命令,也不是可運行的程序

報錯信息 'cross-env' 不是內部或外部命令,也不是可運行的程序. 是依賴缺失問題.直接執行重新下載依賴 npm install 如果還是不可以,可以執行 npm install -g cross-env  

原创 鎖與事務的關係

在併發場景下, 我們往往需要在事務方法中加鎖來應對併發.如下.下面以 ReentrantLock 爲例子. public final static ReentrantLock MY_LOCK= new ReentrantLock();

原创 使用sqlserver manager創建作業時報錯c001f011

在使用sqlserver創建作業時,有時會報錯,如下 IClassFactory 爲 CLSID 爲 {17BCA6E8-A95D-497E-B2F9-AF6AA475916F} 的 COM 組件創建實例失敗, 原因是出現以下錯誤:

原创 sqlserver的sp_addlinkedserver在存儲過程中的使用問題

sp_addlinkedserver是sqlserver中用於跨數據庫操作.該函數用於創建一個連接.在開發中遇到業務需求, 需要創建一個存儲過程,在裏面做跨數據庫操作.該存儲過程創建語句如下 --- 創建存儲過程begin if obj

原创 統一處理"將截斷字符串或二進制數據"異常

該錯誤是字段過長的原因, 對應的異常類型是DataTruncation. 因爲在實際場景中,沒有必要把所有字段都用最長字符, 會造成不必要的資源浪費. 但是通過代碼一一去控制長度又不夠優雅.我們可以通過在捕獲異常時,針對這個異常,進行處理

原创 sqlserver根據某一列某一分隔符分成多行數據

數據庫: sqlserver 開發中會有場景,一些使用 ","分隔的數據,希望將其分成多行數據進行查詢展示. 方案: 使用  CROSS APPLY 來實現. 如下 .其中 attractStaffId的字段爲使用","分隔的字段 se

原创 關於系統之間的單點登陸對接

這裏說的單點登陸,不是正規的那種有個中間服務做的,(如CAS).差不多是一種假的單點登陸. 但是在工作需求有時候會遇到, 尤其是做定製化產品. 一個客戶買了我們公司一個產品, 同時買了另外一個公司的產品.現在想讓這兩個產品進行單點登陸,一

原创 關於適配器模式

在學習適配器模式時,看到一篇文章講得很易懂,應用場景明確. https://www.ibm.com/developerworks/cn/java/j-lo-adapter-pattern/ 此處也結合自己的理解,記錄一篇文章, 1. 對象

原创 pageoffice自動顯示所有批註

pageoffice有api可以直接調用, 顯示所有批註,但目前只支持word.對於excel.可以使用編寫宏,直接調用office的功能.直接上代碼 //POB打開窗口後事件 function AfterDocumentOpened(

原创 關於漏洞"這個頁面包含一個錯誤/警告信息,可能會導致敏感信息泄露"

公司開發的產品.在用軟件掃描漏洞時,掃出了這麼一個漏洞. 可以看出有漏洞的地方是登錄頁面.在登錄中,主要邏輯如下: 一些拒絕登錄是通過拋異常->然後捕獲異常->獲取異常信息->跳回到登錄頁面並展示錯誤信息. 下面爲代碼示例 @Requ