/**關鍵**片段**///輪詢伺服器次數
private int checktime = 0;
private boolean orderpaysuccess = false;
public void checkpaystatue()
return observable.error(new throwable("輪詢結束"));
}// 若輪詢次數<4次,則傳送1next事件以繼續輪詢
// 注:此處加入了delay操作符,作用 = 延遲一段時間傳送(此處設定 = 1.5s),以實現輪詢間間隔設定
return observable.just(1).delay(1500, timeunit.milliseconds);
}});
}}).subscribeon(schedulers.io()) // 切換到io執行緒進行網路請求
.observeon(androidschedulers.mainthread()) // 切換回到主線程 處理請求結果
.subscribe(new baseobserver(_mactivity, mdisposable) else
}@override
protected void onfailure(int code, string msg)
});}
使用DelayQueue實現訂單限時支付處理
delayqueue是乙個無界阻塞佇列,佇列中的元素必須實現delayed介面,在建立元素時可以指定多久才能從佇列中獲取當前元素。只有在延遲期滿時才能從佇列中提取元素。delayqueue可以用作快取系統的設計,可以用delayqueue儲存快取元素的有效期,使用乙個執行緒迴圈查詢delayqueu...
使用lucene對搜尋結果排序
lucene預設根據匹配度對搜尋結果降序排,如果對某個域進行排序?通常分兩步 step1 建索引時 newfield audittime row.get audittime tostring 關鍵點是你需要排序的字段建索引時應該採用 field.index.un tokenized,至於需不需要 f...
使用lucene對搜尋結果排序
lucene預設根據匹配度對搜尋結果降序排,如果對某個域進行排序?通常分兩步 step1 建索引時 newfield audittime row.get audittime tostring 關鍵點是你需要排序的字段建索引時應該採用 field.index.un tokenized,至於需不需要 f...