功能描述
寫一個功能,前臺發起執行請求,後臺執行任務,前臺能夠獲取執行的進度,並取得最後的執行狀態。
(0)angular2 $http文件上傳
這裏之因此不用angular-file-upload是爲了共用代碼。
var time = new Date()。getTime();
var obj = {
method:"POST",
url:"csvFile",
headers : { 'Content-Type':undefined},
transformRequest: function() {
var formData = new FormData();
formData.append('file', $('#uploadBtn')[0].files[0]);
formData.append('time',time);
return formData;
}
}
'Content-Type':undefined
transformRequest
關於這兩個部分網上有一些說法,本人能力有限,只知道這麼作能出效果,不知道他們說的對不對,還望高人指點
(1)如何處理多線程
由於要提供返回進度和最後狀態的接口,因此後臺用HashMap來存儲信息,已前臺傳入的毫秒數作標記
取消了不少成員變量的使用,改成傳參。
還用一點須要注意,由於前臺發出執行請求,隨後就會發出獲得執行進度請求,而在返回進度方法中我寫成了下面這個樣子
這樣寫埋下了禍根,好心辦了壞事,氣人的是這種錯誤不會直觀的顯示出來。排查也費了好大勁。
18
Integer rate = rateMap.get(time) ;
if(rate !=null)
{
if(rate == 100)
{
rateMap.remove(time);
return 100;
}
else
{
return rate;
}
}
else
{
return 100;
}
最後改爲當爲null時返回0
(2)如何導出maven項目羣、多模塊項目、多個maven項目
其實只要按正常操做導出主項目(單個項目)就能夠了。我百度…
(3)插入數據
這裏又犯了一個錯誤,由於會有許多爲null的數據,以前的寫法是當某一個字段爲null,就不會執行dao層代碼。html
<div class = "post">
<h1 class = "postTitle">
<a id="cb_post_title_url" class="postTitle2" href="http://www.changtu.com/chezhan/linyishi/15685.html">臨沂汽車總站</a>
</h1>angular2
</div>多線程