工作心得和總結
很久沒有更新部落格,更新部落格更是思路重新梳理的過程會加深技術的理解。工作中越來越體會中還有更多知識要去學習。目前學習的比較凌亂。先做雜記把。
1 spring動態配置資料來源
網上很多例子,都能實現,開發中存在很多疑慮和不信任,還發現了一些問題,但經過反覆測試和看原始碼,明白了原理就不會再有疑慮,注意一下幾點:
1 ) 如果資料來源動態新增寫在配置檔案裡,啟動時讀取資料,改spring 配置檔案讀資料庫連線為 屬性檔案java程式碼讀取(這個是spring的功能),如果有動態新增刪除的則需要另外配置一個配置檔案。同時修改 動態資料來源實現類 呼叫實現動態修改
AbstractRoutingDataSource 的 afterPropertiesSet 方法,,最好看下AbstractRoutingDataSource的原始碼,裡面包含很多個功能
2 )另外一個要注意的是 採用的 ThreadLocal來安全儲存當前執行緒的 資料來源,但是隻在當前執行緒有效,所以做資料庫操作時要注意,每一個 資料庫的增刪改查之前都要 進行攔截器或者Aop切面實現指定資料來源進行設定(DataSourceContextHolder.set('dbsource')),如果不設定的話極有可能 資料來源為空或切換到了預設資料來源,進而程式出錯
public class DynamicDataSource extends AbstractRoutingDataSource {
@Override
protected Object determineCurrentLookupKey() {
return DataSourceContextHolder.getDbType();
}
@Override
public void setDataSourceLookup(DataSourceLookup dataSourceLookup) {
super.setDataSourceLookup(dataSourceLookup);
}
@Override
public void setDefaultTargetDataSource(Object defaultTargetDataSource) {
super.setDefaultTargetDataSource(defaultTargetDataSource);
}
@Override
public void setTargetDataSources(Map targetDataSources) {
super.setTargetDataSources(targetDataSources);
//這句是重點
super.afterPropertiesSet();
}
}
然後重寫父類,新增方法
//用於動態新增新資料來源
public void addDataSource(Object key,Object dataSource){
this.targetDataSources.put(key, dataSource);
setTargetDataSources(this.targetDataSources);
}
public void removeDataSource(Object key){
if(null !=key&& !"".equals(key)){
this.targetDataSources.remove(key);
setTargetDataSources(this.targetDataSources);
}
}
3) 涉及到多資料來源事務的問題好多文章有了,有多種技術多種方法,就不說了
2 Netty 框架的使用
最近要求用TCP進行兩個程式通訊,所以用來Netty來實現。通過官網介紹知道,其實高併發,無阻塞,高效、低耗的安全框架。兩個看點
1) 採用多執行緒機制,在建立workgroup時,引數為空則是cpu核心×2個執行緒,有引數則使用引數
2) 採用ByteBuf 快取儲存字串位元組流,有兩種方式,堆快取和直接快取
3 存在的問題:
還用到了其他技術,但只做到了知其然但不知其所以然的境界,所以還要好好學習,好多技術例如Shiro原始碼,Vue原始碼框架,Angularjs和React, ES6,HBase,Kafka原始碼,element-ui等,需要去學習。
4 總結
學習時學習別人碰到的問題和解決方法往往比 如何做對的更能快速學習,解決的思路很重要,多看原始碼多實踐
相關文章
- webpack心得總結Web
- git心得與總結Git
- 感悟,七點心得總結
- git學習心得總結Git
- 學習心得總結(2)
- 學習心得總結(1)
- 工作總結
- web端功能測試心得總結!Web
- 使用者訪談心得總結
- 工作總結3
- 工作總結2
- 找工作總結
- 找工作心得
- 工作總結--ESB工作平臺
- 從工作流狀態機實踐中總結狀態模式使用心得模式
- 計算機程式設計心得總結計算機程式設計
- 微信小程式開發總結與心得微信小程式
- java學習總結及心得體會Java
- Rxjava工作原理總結RxJava
- 工作經驗總結
- 我的工作總結
- 團隊工作總結
- 找工作總結薦
- 測試工作心得
- 硬剛正規表示式的心得總結
- [心得]Mac下編譯thrift踩坑總結Mac編譯
- Java 8 Lambda 表示式學習心得總結Java
- 週記-工作小總結
- IYPT助教工作總結
- 工作十一年總結
- 工作週會的總結
- 08年終工作總結薦
- 個人工作總結(轉)
- 7.9日工作總結
- 【工作總結】工作為什麼總是手忙腳亂
- 工作5年的阿里Java程式設計師分享從業心得總結與面試筆記分享阿里Java程式設計師面試筆記
- 網站安全滲透測試公司心得總結網站
- 面試心得與總結-——答案整理_4 持續更新面試