原创 EsRejectedExecutionExceptionindices:data/read/mget[shard]異常處理與線程池設置

報錯 elasticsearch查詢失敗 java日誌: org.frameworkset.elasticsearch.ElasticSearchException: java.net.SocketTimeoutExcepti

原创 NoSuchMethodError報錯和Tomcat的jar包加載順序

問題 Java項目,使用maven管理jar包,war包部署,Tomcat服務器 某個方法在底層包裏有,但是本子系統需要對方法改動,就把類copy過來,同路徑,修改了方法,加了參數。 這個時候,2個jar包裏,都有這個工具類,但

原创 java使用正則表達式,針對自定義分詞標籤,對中文內容進行詞頻統計(word count)

業務場景 自己定義分詞標籤,不使用中文分詞工具,自己整理收集添加詞語(是爲了滿足任意詞語,如人名等) 分詞標籤可能會互相包含,例如 ABC, AB ,BC三個標籤詞,對於輸入“ABCD”三個標籤都要命中,詞頻加一 需要統計標籤詞

原创 使用Elasticsearch第三方包Bboss批量提交新增、修改、刪除請求

思路 使用Bboss的Http請求,核心還是ES原生的http請求接口,自己懶得寫,直接使用Bboss封裝好的 maven依賴 <dependency> <groupId>com.bbossgroups

原创 Java調用Elasticsearch api 創建客戶端報錯NoNodeAvailableException[None of the configured nodes are available

NoNodeAvailableException[None of the configured nodes are available 這個報錯,意思就是你要連接的節點不可用,連不上,一般有以下幾個原因: 1、ES服務沒啓動,肯定連不上

原创 spring cloud服務tomcat異常關閉,排查及解決await A valid shutdown command was received via the shutdown port

問題及現象 tomcat異常關閉,服務從註冊中心移除 爲了可用性,在2臺服務器各部署了這個應用,結果2個都會出現異常關閉現象 2臺服務器上的應用,有時候只有一臺服務被終止,有時候2臺都被終止 追蹤日誌,就是tomcat自己把一個

原创 年輕代頻繁GC,大量FlushEntityEvent等hibernate對象(hibernate的內存泄漏)問題解決

現象 高併發請求,需要操作數據庫。大量的查詢、刪除、插入、更新操作。 一次請求需要處理10萬條數據左右,每條數據處理,都需要查詢、刪除、插入、更新多次,操作多張表。 爲了防止內存溢出,一次處理1000條。在Controller層

原创 elasticsearch批量提交索引失敗Malformed action/metadata expected START_OBJECT but found [VALUE_NULL]

問題 在java裏使用elasticsearch的java api裏的bulk方法提交刪除時,報錯 更新索引失敗:{"error":{"root_cause":[{"type":"illegal_argument_except

原创 Elasticsearch實現對某屬性等於某值,或爲空爲null的查詢

需求 elasticsearch查詢,需要查詢某個值organDn爲空或爲null,或等於某值 sql實現很簡單,elasticsearch沒有這種語法 需要使用elasticsearch支持的現有語法變通實現 實現 jav

原创 java使用http post方法提交json數據(不亂碼)

問題 需要調用第三方接口發送短信,必須使用post方法,請求和返回都是JSON格式數據,編碼要求UTF-8 項目中已有的 HttpUtil 工具類中,有post方法,但是請求此接口沒有任何返回;使用curl發送post請求,有數

原创 Elasticsearch使用http接口更新數據失敗:ElasticSearchException: Socket Timeout for 120000ms

現象 前一天晚上重建了部分索引,大概幾萬條吧;第二天早上發現搜索有問題。 使用Bboss封裝的http接口查詢、更新、刪除索引失敗 使用es的java api查詢是可以的,更新刪除沒有測試 報錯:ElasticSearchExc

原创 Spring cloud報錯com.netflix.hystrix.exception.HystrixRuntimeException

現象 生產環境,接口調用失敗 feign客戶端接口訪問超時 查看服務正常,沒有報錯日誌 仔細看了下,沒有日誌,應該是請求沒有到達feign服務提供者 部分日誌如下: com.netflix.hystrix.exception.

原创 深入瞭解Java虛擬機:JVM調優

初探 Java代碼運行,Java源文件(.java)-- > javac編譯 -->字節碼文件(.class)–> JVM --> 計算機底層指令和硬件 jvm,Java虛擬機,不同的操作系統有不同版本的JVM虛擬機。JVM從軟

原创 IntelliJ IDEA裏run或debugmain方法時報Command line is too long.Shorten command line for Test or……

現象 調試main方法報錯Command line is too long.Shorten command line for Test or…… 解決 其實很簡單,配置下就行了 不需要改配置文件 可以點擊彈框裏的“defa

原创 在Navicat裏連接MongoDB,使用查詢語句正則匹配修改內容

業務場景 CMS,內容管理系統,主要是新增編輯新聞,發佈新聞 使用MySQL存儲新聞的各個字段,使用MongoDB存儲文章正文(帶樣式的正文比較大) 某網站升級改版,使用新系統。數據和附件遷移後,發現正文中的圖片鏈接是訪問原有的