精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

從零搭建開發(fā)腳手架 基于Spring Task實(shí)現(xiàn)動(dòng)態(tài)管理任務(wù)

開發(fā) 后端
Timer 是 Jdk自帶的定時(shí)任務(wù)執(zhí)行類,無(wú)論任何項(xiàng)目都可以直接使用 Timer 來(lái)實(shí)現(xiàn)定時(shí)任務(wù),所以 Timer 的優(yōu)點(diǎn)就是使用方便。

[[396614]]

本文轉(zhuǎn)載自微信公眾號(hào)「Java大廠面試官」,作者laker。轉(zhuǎn)載本文請(qǐng)聯(lián)系Java大廠面試官公眾號(hào)。

什么是定時(shí)任務(wù)

定時(shí)任務(wù)是指調(diào)度程序在指定的時(shí)間或周期觸發(fā)執(zhí)行的任務(wù),常用場(chǎng)景如下:

  • 定時(shí)發(fā)短信
  • 定時(shí)變更數(shù)據(jù)
  • 定時(shí)統(tǒng)計(jì)數(shù)據(jù)
  • 定時(shí)修改狀態(tài)
  • 定時(shí)開始活動(dòng)等

常見幾種JAVA實(shí)現(xiàn)方式

Timer

簡(jiǎn)介:Timer 是 Jdk自帶的定時(shí)任務(wù)執(zhí)行類,無(wú)論任何項(xiàng)目都可以直接使用 Timer 來(lái)實(shí)現(xiàn)定時(shí)任務(wù),所以 Timer 的優(yōu)點(diǎn)就是使用方便。

原理:

  • 調(diào)度器:?jiǎn)尉€程。
  • 任務(wù)存儲(chǔ):最小堆實(shí)現(xiàn)任務(wù)存儲(chǔ)。

優(yōu)點(diǎn):Jdk自帶類,無(wú)需引入其他Jar,簡(jiǎn)單易用。

缺點(diǎn):Timer中的多個(gè)任務(wù)只能使用一個(gè)線程去執(zhí)行,因此任務(wù)之間的執(zhí)行情況會(huì)相互影響。

  • 當(dāng)一個(gè)任務(wù)的執(zhí)行時(shí)間過長(zhǎng)時(shí),會(huì)影響其他任務(wù)的調(diào)度任務(wù)異常影響其他任務(wù)。
  • 當(dāng)一個(gè)任務(wù)拋出異常,其他任務(wù)也會(huì)終止運(yùn)行.

結(jié)論:基本無(wú)人使用。

ScheduledExecutorService

簡(jiǎn)介:ScheduledExecutorService 是JDK里面自定義的幾種線程池中的一種,支持多線程并發(fā)的去執(zhí)行多個(gè)調(diào)度任務(wù),彌補(bǔ)了Timer的缺陷。

原理:

  • 調(diào)度器:多線程。
  • 任務(wù)存儲(chǔ):最小堆實(shí)現(xiàn)任務(wù)存儲(chǔ)。

優(yōu)點(diǎn):Timer能做到的事情ScheduledExecutorService都能做到,且完美的解決上面所說(shuō)的Timer存在的兩個(gè)問題。

缺點(diǎn):只支持固定速率(fixed-rate)或固定延遲(fixed-delay)的調(diào)度任務(wù),不靈活。

結(jié)論:常用于框架內(nèi)部定時(shí)任務(wù)。

Spring Task

描述:Spring Framework 自帶的定時(shí)任務(wù)。

優(yōu)點(diǎn):同ScheduledExecutorService,同時(shí)增加了支持cron表達(dá)式,可以配置任意基于時(shí)鐘的調(diào)度任務(wù)。

缺點(diǎn):

  • 不支持動(dòng)態(tài)修改任務(wù)狀態(tài)、暫停/恢復(fù)任務(wù),以及終止運(yùn)行中任務(wù)。
  • 不支持在線監(jiān)控執(zhí)行的任務(wù)。

原理:ScheduledExecutorService的擴(kuò)展。

結(jié)論:常用于中小型企業(yè),作為單機(jī)定時(shí)任務(wù)使用。

以上都是單機(jī)版本。

其他分布式定時(shí)任務(wù)諸如:quartz、xxl-job、elastic-job等等,功能、性能都很強(qiáng)勁,這里不作為研究對(duì)象,詳情參考:

  • Java定時(shí)任務(wù)框架對(duì)比
  • 定時(shí)任務(wù)實(shí)現(xiàn)原理 最小堆 時(shí)間輪

上面的這些框架都不是我想選擇的,要想自由的掌控雷電,那就自己造個(gè)簡(jiǎn)易輪子,滿足90%需求即可。

期望實(shí)現(xiàn)如下特性:

  • 輕量、輕量、輕量。
  • 支持在線監(jiān)控執(zhí)行的任務(wù)。
  • 支持動(dòng)態(tài)修改任務(wù)狀態(tài)、暫停/恢復(fù)任務(wù),以及終止運(yùn)行中任務(wù)。
  • 支持在線配置調(diào)度任務(wù)入?yún)⒑汀?/li>
  • 支持集群環(huán)境擴(kuò)展(可選)。

收集了半天信息,直接使用Spring Task就可以實(shí)現(xiàn),僅依賴Spring Boot。

Spring Task詳解

初級(jí)靜態(tài)配置任務(wù)

代碼示例:

  1. @Component  
  2. @EnableScheduling // 開啟定時(shí)任務(wù) 
  3. public class DemoApplication { 
  4.  // 添加定時(shí)任務(wù) 
  5.     @Scheduled(cron = "0/5 * * * * *") // cron 表達(dá)式,每5秒執(zhí)行 
  6.     public void doTask(){ 
  7.         System.out.println("我是定時(shí)任務(wù)~"); 
  8.     } 

無(wú)法動(dòng)態(tài)修改任務(wù)狀態(tài)、暫停/恢復(fù)任務(wù),以及終止運(yùn)行中任務(wù)。

進(jìn)階動(dòng)態(tài)配置任務(wù)

實(shí)現(xiàn)設(shè)計(jì)

關(guān)鍵技術(shù)點(diǎn)和坑

  • Spring Task的調(diào)度器默認(rèn)是線程數(shù)為1的ThreadPoolTaskScheduler,自動(dòng)裝配類為TaskSchedulingAutoConfiguration,多任務(wù)之間的執(zhí)行會(huì)相互影響,一定要修改默認(rèn)值。
  • 通過TaskScheduler接口,可以擴(kuò)展實(shí)現(xiàn)動(dòng)態(tài)修改任務(wù)狀態(tài)、暫停/恢復(fù)任務(wù),以及終止運(yùn)行中任務(wù)。
    • TaskScheuler是在Spring 3.0中引入的,有多種方法可以在將來(lái)的某個(gè)時(shí)刻運(yùn)行,它還返回ScheduledFuture接口的對(duì)象,可用于取消計(jì)劃的任務(wù)或檢查任務(wù)是否完成。
  • cron-utils一個(gè)Java庫(kù),用于解析,驗(yàn)證Cron表達(dá)式,可以去GitHub查看詳細(xì)說(shuō)明。

實(shí)現(xiàn)設(shè)計(jì)

定義IJob接口,用于客戶端描述任務(wù)

  1. public interface IJob { 
  2.     void execute(JobContext map) throws JobException; 

定義注解,用于配合IJob接口定義任務(wù)

  1. @Target({ElementType.TYPE}) 
  2. @Retention(RetentionPolicy.RUNTIME) 
  3. @Documented 
  4. @Component 
  5. public @interface Job { 
  6.  
  7.     @AliasFor(annotation = Component.class) 
  8.     String value() default ""
  9.  
  10.     /** 
  11.      * cron 表達(dá)式默認(rèn)不"-"代表不執(zhí)行 
  12.      */ 
  13.     String cron() default "-"
  14.  
  15.     /** 
  16.      * 任務(wù)編碼 必須唯一 
  17.      */ 
  18.     String taskCode(); 
  19.  
  20.     /** 
  21.      * 任務(wù)名稱 
  22.      */ 
  23.     String taskName(); 
  24.  

定義運(yùn)行任務(wù)狀態(tài)

  1. public class Task{ 
  2.     /** 
  3.      * 任務(wù)的編碼 必須全局唯一 
  4.      */ 
  5.     private String taskCode; 
  6.     /** 
  7.      * 任務(wù)的名稱 
  8.      */ 
  9.     private String taskName; 
  10.     /** 
  11.      * 任務(wù)的類名稱 
  12.      */ 
  13.     private String taskClassName; 
  14.     /** 
  15.      * 任務(wù)的cron表達(dá)式 
  16.      */ 
  17.     private String taskCron; 
  18.  
  19.     @JsonIgnore 
  20.     private ScheduledFuture scheduledFuture; 
  21.  
  22.     @JsonIgnore 
  23.     private IJob job; 
  24.  
  25.     private TaskStateEnum taskState; 

定義任務(wù)存儲(chǔ)接口,用于存儲(chǔ)在緩存或者DB中

  1. public interface ITaskStore { 
  2.  
  3.     void saveTask(Task task); 
  4.  
  5.     List<Task> list(); 
  6.  
  7.     Task updateTaskByTaskCode(String taskCron, String taskName, String taskCode); 
  8.  
  9.     Task updateTaskStateByTaskCode(TaskStateEnum taskState, String taskCode); 
  10.  
  11.     void deleteTaskByTaskCode(String taskCode); 
  12.  
  13.     Task findByTaskCode(String taskCode); 
  14.  

定義任務(wù)鎖接口,解決并發(fā)問題,以及擴(kuò)展支持集群環(huán)境

  1. public interface ILockService { 
  2.     void lock(String taskCode); 
  3.     void unlock(String taskCode); 
  4. }     

定義事件監(jiān)聽器,用于監(jiān)聽任務(wù)的狀態(tài)事件,可擴(kuò)展?fàn)顟B(tài)監(jiān)控,各種回調(diào)等

  1. public interface IEventListener { 
  2.     void listener(Event event); 

核心處理器,處理核心流程

  • 初始化加載所有IJob的實(shí)現(xiàn) 從Spring容器獲取IJob實(shí)現(xiàn)類并解析Job注解
  • 添加任務(wù)threadPoolTaskScheduler.schedule(task,cron)
  • 更新任務(wù)詳情
    • scheduledFuture.cancel(true)
    • threadPoolTaskScheduler.schedule(task,cron)
  • 啟動(dòng)任務(wù) threadPoolTaskScheduler.schedule(task,cron)
  • 暫停任務(wù) scheduledFuture.cancel(true)
  • 任務(wù)監(jiān)控 TaskList

待實(shí)現(xiàn)功能

  • 重試補(bǔ)償:失敗重試。
  • failstore : 存儲(chǔ)失敗任務(wù),供人肉補(bǔ)償。
  • misfire:存儲(chǔ)錯(cuò)過的任務(wù),供人肉補(bǔ)償。

自己在核心處理器中加下相應(yīng)的增強(qiáng)功能邏輯即可。

使用示例

直接實(shí)現(xiàn)IJob接口并加上Job注解即可

  1. @Job(taskCode = "job1", taskName = "laker測(cè)試任務(wù)",cron = "0/5 * * * * *"
  2. @Slf4j 
  3. public class TestJob implements IJob { 
  4.     @Override 
  5.     public void execute(Map map) throws Exception { 
  6.         log.info("laker job run"); 
  7.         TimeUnit.SECONDS.sleep(10); 
  8.     } 

全部代碼:https://gitee.com/lakernote/lakernote

參考:https://juejin.cn/post/6844904002606350343

SpringBoot官網(wǎng)

 

責(zé)任編輯:武曉燕 來(lái)源: Java大廠面試官
相關(guān)推薦

2021-09-01 10:07:43

開發(fā)零搭建Groovy

2021-03-09 17:11:09

數(shù)據(jù)庫(kù)腳手架開發(fā)

2021-07-13 18:42:38

Spring Boot腳手架開發(fā)

2020-08-19 08:55:47

Redis緩存數(shù)據(jù)庫(kù)

2021-05-13 17:02:38

MDC腳手架日志

2021-04-13 14:47:53

認(rèn)證授權(quán)Java

2021-07-29 18:49:49

Spring開發(fā)腳手架

2021-04-20 19:24:16

腳手架 Java微信

2021-03-11 14:16:47

Spring Boo開發(fā)腳手架

2021-06-02 17:58:49

腳手架 冪等性前端

2021-02-19 22:43:50

開發(fā)腳手架Controller

2016-08-10 14:59:41

前端Javascript工具

2025-05-16 07:24:41

Springkafka腳手架

2023-11-21 17:36:04

OpenFeignSentinel

2014-08-15 09:36:06

2021-01-07 05:34:07

腳手架JDK緩存

2020-06-29 11:35:02

Spring BootJava腳手架

2022-07-11 10:38:06

TienChin項(xiàng)目動(dòng)態(tài)

2021-08-30 06:59:06

StrviewAppStrview.js項(xiàng)目

2018-08-30 16:08:37

Node.js腳手架工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲一区二区三区免费看| www亚洲欧美| 国产女女做受ⅹxx高潮| 国产系列电影在线播放网址| 久久爱另类一区二区小说| 久久91亚洲精品中文字幕| 国产精品九九视频| 电影一区二区三区久久免费观看| 亚洲电影在线播放| 亚洲国产欧美不卡在线观看| www.国产免费| 久久久噜噜噜| 欧美精品国产精品日韩精品| 韩国女同性做爰三级| 无码国模国产在线观看| 欧美体内谢she精2性欧美| 熟女视频一区二区三区| 你懂的视频在线播放| 国产乱人伦偷精品视频免下载| 欧美一乱一性一交一视频| 熟女少妇a性色生活片毛片| 欧美丝袜足交| 日韩一区二区中文字幕| 午夜免费高清视频| 日本午夜大片a在线观看| 亚洲精品你懂的| 久久影院理伦片| 99久久精品免费看国产交换| 日精品一区二区三区| 97精品国产97久久久久久春色| 午夜成人亚洲理伦片在线观看| 欧美一区二区三区久久| 91精品欧美福利在线观看| 国产无套粉嫩白浆内谢的出处| 白白色在线观看| 亚洲激情在线播放| 中文字幕在线中文字幕日亚韩一区| 天堂资源中文在线| 欧美三级韩国三级日本三斤在线观看| 成人爽a毛片| 欧美高清hd18日本| 9久久婷婷国产综合精品性色| 色是在线视频| 五月激情六月综合| 久久久久久久9| 成人影欧美片| 国产精品国产自产拍高清av | 加勒比成人在线| gogogogo高清视频在线| 中文字幕制服丝袜一区二区三区 | 欧美午夜精品久久久久久久| 性欧美大战久久久久久久| av在线导航| 亚洲欧洲在线观看av| 亚洲视频电影| 国产乱子伦三级在线播放| 久久综合一区二区| 欧美连裤袜在线视频| 免费在线黄色电影| 久久精品水蜜桃av综合天堂| 欧美理论一区二区| 成人77777| 国产欧美精品国产国产专区| 日本一区视频在线播放| 成a人片在线观看www视频| 久久久无码精品亚洲日韩按摩| 精品在线观看一区二区| 五月天婷婷在线观看| av激情亚洲男人天堂| 国产视频一区二区不卡| 午夜成人免费影院| 久久嫩草精品久久久精品| 美女一区视频| www.国产精品.com| 国产精品免费视频一区| 在线免费一区| av软件在线观看| 亚洲国产视频a| 99色精品视频| 精品久久毛片| 日韩一区二区精品在线观看| 国产国语老龄妇女a片| 污视频在线观看免费网站| gogo高清在线播放免费| 天天爽夜夜爽夜夜爽精品视频| 国产一区二区在线视频播放| 欧美大片免费高清观看| 欧美亚洲国产一区二区三区va| 超碰在线播放91| 精品国产亚洲一区二区三区大结局 | 亚洲精品自拍视频| 成人无码av片在线观看| 99久久99视频只有精品| 欧美日韩国产123| 日韩手机在线观看| 免费人成精品欧美精品 | 国产精品热久久| 不卡电影免费在线播放一区| 欧美午夜精品理论片a级大开眼界| av在线资源站| 亚洲国产日韩在线一区模特| 激情视频综合网| 国产一区二区三区| 亚洲精品一二区| 欧美一区二区三区观看| 亚洲国产高清一区| 国产精品影院在线观看| 欧美一级特黄aaaaaa| 日本一区二区三区久久久久久久久不| 91嫩草国产丨精品入口麻豆 | 国产成人精品在线| 99热这里只有精品3| 91丨porny丨户外露出| 一区国产精品| 在线成人av观看| 555夜色666亚洲国产免| 国产精品久久不卡| 自拍日韩欧美| 国产精品成人免费视频| 日韩一级中文字幕| 综合网在线视频| 欧美 激情 在线| 91精品啪在线观看国产爱臀| 这里只有精品在线播放| 国内精品400部情侣激情| 依依成人综合网| 国产成人8x视频一区二区 | 57pao国产精品一区| 久久精品波多野结衣| 美女一区二区三区| 欧美日韩精品免费观看视一区二区 | 亚洲欧美制服第一页| 我家有个日本女人| 久久国产精品99精品国产 | 国产成人在线一区二区| 少妇一级淫片免费看| 亚洲日本青草视频在线怡红院| 人妻无码视频一区二区三区| 女同久久另类99精品国产| 欧美成人免费全部观看天天性色| 一级久久久久久| 91社区在线播放| 国产美女在线一区| 白白在线精品| 欧美日韩国产二区| 国产ts人妖调教重口男| 亚洲欧洲韩国日本视频| 欧美婷婷精品激情| 国产精品一区2区3区| 欧日韩不卡在线视频| 少妇人妻偷人精品一区二区| 亚洲香蕉伊在人在线观| 欧美成人精品一区二区综合免费| 亚洲色图网站| 91老司机在线| 超碰免费在线播放| 宅男在线国产精品| 在线看的片片片免费| 国产自产2019最新不卡| 亚洲伊人婷婷| 黄色成人小视频| 久久精品水蜜桃av综合天堂| 国内精品国产三级国产在线专| av网站免费大全| 亚洲色图视频网| 日本特黄在线观看| 欧美暴力喷水在线| 国产aⅴ精品一区二区三区黄| 欧洲在线视频| 亚洲福利小视频| 日韩乱码一区二区| 久久久精品日韩欧美| 久久综合久久色| 日韩国产在线| 91美女高潮出水| 蜜臀av国内免费精品久久久夜夜| 亚洲国产成人av在线| 草久视频在线观看| 国产欧美一区二区在线| wwwwwxxxx日本| 欧美阿v一级看视频| 国产一区二区黄色| 精品国产免费人成网站| 色视频www在线播放国产成人| aaa国产视频| 午夜激情一区二区| 国产成人一区二区在线观看| 韩国午夜理伦三级不卡影院| 轻点好疼好大好爽视频| 台湾亚洲精品一区二区tv| 国产精品99久久久久久久久久久久 | 亚洲一区高清| 99久久香蕉| 青青精品视频播放| 免费在线看黄网站| 精品国产伦一区二区三区观看体验| www.国产色| 最新日韩av在线| 99久久人妻精品免费二区| 日韩精品一卡二卡三卡四卡无卡| 手机在线视频你懂的| 日本午夜精品| 成人黄色短视频在线观看| 成人黄色动漫| 精品国产拍在线观看| 好吊色一区二区| 欧美日本精品一区二区三区| 日韩精品乱码久久久久久| 国产欧美1区2区3区| 无码人妻aⅴ一区二区三区玉蒲团| 国产精品伊人| xnxx国产精品| 免费一区二区三区在线观看| 亚洲经典自拍| 手机成人av在线| 久久99视频| 国产一区二区三区奇米久涩 | 日韩欧美在线视频日韩欧美在线视频| а天堂中文在线资源| 成人高清在线视频| 国产无遮挡猛进猛出免费软件| 99亚洲伊人久久精品影院红桃| 中文字幕日韩一区二区三区不卡| 天堂一区二区三区四区| 97国产超碰| 视频欧美精品| 国产精品久久久久久久久久99| √8天堂资源地址中文在线| 俺去亚洲欧洲欧美日韩| 国产视频福利在线| 亚洲国产精品一区二区三区| jlzzjlzzjlzz亚洲人| 欧美日韩一区在线| 天堂网视频在线| 精品久久久久久久久久ntr影视| 顶臀精品视频www| 日本一区二区在线不卡| 日本xxx在线播放| 成人av一区二区三区| 少妇极品熟妇人妻无码| 国产一区二区在线看| 一级黄色录像在线观看| 日韩激情一二三区| 国产成人无码一二三区视频| 国产欧美日韩一级| 久色视频在线播放| 亚洲国产午夜| 青草青青在线视频| 亚洲人成久久| 男人添女人下部高潮视频在观看| 国产综合精品一区| 女人被男人躁得好爽免费视频| 香蕉精品视频在线观看| 自拍偷拍99| 中文字幕午夜精品一区二区三区 | 在线观看av中文字幕| 粉嫩av亚洲一区二区图片| 日本黄色三级网站| 国产精品一区二区果冻传媒| 91香蕉国产线在线观看| 国产精品夜夜嗨| 亚洲熟妇一区二区| 不卡在线观看av| 三级视频网站在线观看| 99久久伊人网影院| 日本高清www| 自拍亚洲图区| 精品区一区二区| 日本激情一区二区三区| 精品国产乱码久久久久久浪潮| 蜜桃久久一区二区三区| 日韩精品中文字幕视频在线| 黄网在线观看| 中文字幕日韩av| h片在线免费| 91大神福利视频在线| 三上悠亚亚洲一区| 国产欧美一区二区三区在线看| 激情视频亚洲| 国产伦精品一区二区三区照片| 人人精品视频| 日本视频精品一区| 水蜜桃精品av一区二区| 18黄暴禁片在线观看| 国产亚洲高清视频| 日本激情视频在线播放| 国产一区二区三区观看| 又黄又爽的网站| 91免费版在线| 三级黄色免费观看| 香蕉影视欧美成人| 成人黄色激情视频| 日韩欧美国产精品| 蝌蚪视频在线播放| 伦理中文字幕亚洲| 芒果视频成人app| 91九色在线免费视频| 最新亚洲精品| 樱空桃在线播放| 欧美亚洲一级| 麻豆网站免费观看| 久久精品欧美一区二区三区麻豆| 操她视频在线观看| 欧美日韩激情美女| aaa国产视频| 国产一区二区日韩| 欧美黑人猛交| 国产欧美日韩免费| 国产精品qvod| 伊人久久av导航| 亚洲激情婷婷| 亚洲一二三不卡| 久久久久成人黄色影片| 欧美成人精品激情在线视频| 欧美日韩中文字幕在线视频| 国产suv精品一区二区33| 精品少妇一区二区三区视频免付费| 国产永久av在线| 韩日精品中文字幕| 国产日韩在线观看视频| 日本免费高清一区二区| 一本久道久久久| 天天爽夜夜爽视频| 日韩一区日韩二区| 免费在线观看av的网站| 日韩精品视频免费| 毛片网站在线看| 成人av免费在线看| 久久精品久久久| 我要看一级黄色大片| 26uuu精品一区二区在线观看| 久久久久久久久久久久久久免费看 | jizz欧美激情18| 不卡一二三区首页| 欧美日韩人妻精品一区二区三区| 欧美三级韩国三级日本一级| 色视频在线观看| 高清亚洲成在人网站天堂| 亚洲精品18| 轻点好疼好大好爽视频| 国产精品1区二区.| 朝桐光av在线| 91麻豆精品国产自产在线观看一区| 成年人在线视频免费观看| 日本精品视频在线| 亚洲婷婷伊人| 国产一区二区三区精彩视频 | 日韩欧美一起| 91免费高清视频| 希岛爱理一区二区三区| 日韩一区二区三区不卡视频| 国产午夜久久久久| 中文字幕 人妻熟女| 一本色道久久综合亚洲精品小说| 欧美色网一区| 色婷婷精品国产一区二区三区| 日韩精品一二三四| 久久久久久成人网| 欧美老人xxxx18| 手机电影在线观看| 国产精品国产亚洲精品看不卡15| 亚洲国产1区| 欧美 变态 另类 人妖| 色综合久久综合网| 成a人v在线播放| 亚洲影影院av| 尤物网精品视频| 少妇按摩一区二区三区| 欧美性大战久久| 免费黄色在线观看| 91精品天堂| 国产精品老牛| av手机在线播放| 欧美一区二区三区在线视频| 七七久久电影网| 欧美18视频| 捆绑紧缚一区二区三区视频| 免费在线一级片| 日韩av在线免费观看| 91成人在线| www.99riav| 26uuu另类欧美亚洲曰本| 中文字幕一区二区三区人妻四季| 久久亚洲影音av资源网| 精品三级在线观看视频| 亚洲最大综合网| 亚洲美女视频一区| 暖暖视频在线免费观看| 国产欧美日韩精品在线观看| 在线欧美三区| 秋霞网一区二区三区| 日韩女优制服丝袜电影| 美女18一级毛片一品久道久久综合| 亚洲一区二区三区精品动漫| 国产91精品精华液一区二区三区 | 国产天堂在线播放视频| 免费在线观看91| 精品亚洲porn| 成人毛片18女人毛片| 日韩在线观看免费av|