久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

SpringBoot整合Xxl-Job的完整步驟記錄

瀏覽:152日期:2023-04-07 11:57:16

一、下載Xxl-Job源代碼并導入本地并運行

Github地址:https://github.com/xuxueli/xxl-job

中文文檔地址:https://www.xuxueli.com/xxl-job/

1.使用Idea或Eclipse導入

2.執行sql腳本(紅色標記處)

SpringBoot整合Xxl-Job的完整步驟記錄

3.運行xxl-job-admin(xxl-job后臺管理,主要方便管理各種各樣的任務)

注意:在運行之前,需要把2的sql腳本執行完畢,并修改數據庫連接池。

正常啟動,訪問地址為:http://localhost:8080/xxl-job-admin

效果圖,如下所示:

SpringBoot整合Xxl-Job的完整步驟記錄

用戶名默認為admin

密碼為123456

輸入后,進入這個界面,如圖:

SpringBoot整合Xxl-Job的完整步驟記錄

這樣就表示Xxl-Job成功運行了。確保運行沒問題后,就可以開始下一步。

二、添加執行器(Xxl-Job源代碼就一個Example,可以復用過來,你也可以選擇自己新建項目,新建項目可以在Xxl-Job基礎上,也可以放在其它項目中)

1.新建一個Maven項目,命名為blog-xxl-job。

2.導入Maven依賴

<!-- https://mvnrepository.com/artifact/com.xuxueli/xxl-job-core --> <dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-job-core</artifactId> <version>2.2.0</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>

3.新建application.yml配置文件并添加如下內容

#eurekaeureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/# web portserver.port=8081# no web#spring.main.web-environment=false# log configlogging.config=classpath:logback.xml### xxl-job admin address list, such as 'http://address' or 'http://address01,http://address02'xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin### xxl-job, access tokenxxl.job.accessToken=### xxl-job executor appnamexxl.job.executor.appname=blog-xxl-job-executor### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is nullxxl.job.executor.address=### xxl-job executor server-infoxxl.job.executor.ip=xxl.job.executor.port=9999### xxl-job executor log-pathxxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler### xxl-job executor log-retention-daysxxl.job.executor.logretentiondays=30

可以不用eureka,這里我的項目中用到eureka所以增加該配置。

增加logback.xml配置:

<?xml version='1.0' encoding='UTF-8'?><configuration debug='false' scan='true' scanPeriod='1 seconds'> <contextName>logback</contextName> <property name='log.path' value='/data/applogs/xxl-job/xxl-job-executor-sample-springboot.log'/> <appender name='console' class='ch.qos.logback.core.ConsoleAppender'> <encoder> <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <appender name='file' class='ch.qos.logback.core.rolling.RollingFileAppender'> <file>${log.path}</file> <rollingPolicy class='ch.qos.logback.core.rolling.TimeBasedRollingPolicy'> <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern> </rollingPolicy> <encoder> <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n </pattern> </encoder> </appender> <root level='info'> <appender-ref ref='console'/> <appender-ref ref='file'/> </root></configuration>

4.編寫Application類

package com.springcloud.blog.job.execute;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@EnableEurekaClient@EnableDiscoveryClient@SpringBootApplicationpublic class BlogXxlJobExecutorApplication { public static void main(String[] args) { SpringApplication.run(BlogXxlJobExecutorApplication.class, args); }}

5.編寫Job執行器

package com.springcloud.blog.job.execute.jobhandler;import com.xxl.job.core.biz.model.ReturnT;import com.xxl.job.core.handler.IJobHandler;import com.xxl.job.core.handler.annotation.XxlJob;import com.xxl.job.core.log.XxlJobLogger;import com.xxl.job.core.util.ShardingUtil;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Component;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.Arrays;import java.util.concurrent.TimeUnit;/** * XxlJob開發示例(Bean模式) * <p> * 開發步驟: * 1、在Spring Bean實例中,開發Job方法,方式格式要求為 'public ReturnT<String> execute(String param)' * 2、為Job方法添加注解 '@XxlJob(value='自定義jobhandler名稱', init = 'JobHandler初始化方法', destroy = 'JobHandler銷毀方法')',注解value值對應的是調度中心新建任務的JobHandler屬性的值。 * 3、執行日志:需要通過 'XxlJobLogger.log' 打印執行日志; * * @author xuxueli 2019-12-11 21:52:51 */@Componentpublic class SampleXxlJob { private static Logger logger = LoggerFactory.getLogger(SampleXxlJob.class); /** * 1、簡單任務示例(Bean模式) */ @XxlJob('demoJobHandler') public ReturnT<String> demoJobHandler(String param) throws Exception { XxlJobLogger.log('XXL-JOB, Hello World.'); for (int i = 0; i < 5; i++) { XxlJobLogger.log('beat at:' + i); TimeUnit.SECONDS.sleep(2); } return ReturnT.SUCCESS; } /** * 2、分片廣播任務 */ @XxlJob('shardingJobHandler') public ReturnT<String> shardingJobHandler(String param) throws Exception { // 分片參數 ShardingUtil.ShardingVO shardingVO = ShardingUtil.getShardingVo(); XxlJobLogger.log('分片參數:當前分片序號 = {}, 總分片數 = {}', shardingVO.getIndex(), shardingVO.getTotal()); // 業務邏輯 for (int i = 0; i < shardingVO.getTotal(); i++) { if (i == shardingVO.getIndex()) { XxlJobLogger.log('第 {} 片, 命中分片開始處理', i); } else { XxlJobLogger.log('第 {} 片, 忽略', i); } } return ReturnT.SUCCESS; } /** * 3、命令行任務 */ @XxlJob('commandJobHandler') public ReturnT<String> commandJobHandler(String param) throws Exception { String command = param; int exitValue = -1; BufferedReader bufferedReader = null; try { // command process Process process = Runtime.getRuntime().exec(command); BufferedInputStream bufferedInputStream = new BufferedInputStream(process.getInputStream()); bufferedReader = new BufferedReader(new InputStreamReader(bufferedInputStream)); // command log String line; while ((line = bufferedReader.readLine()) != null) { XxlJobLogger.log(line); } // command exit process.waitFor(); exitValue = process.exitValue(); } catch (Exception e) { XxlJobLogger.log(e); } finally { if (bufferedReader != null) { bufferedReader.close(); } } if (exitValue == 0) { return IJobHandler.SUCCESS; } else { return new ReturnT<String>(IJobHandler.FAIL.getCode(), 'command exit value(' + exitValue + ') is failed'); } } /** * 4、跨平臺Http任務 * 參數示例: * 'url: http://www.baidu.comn' + * 'method: getn' + * 'data: contentn'; */ @XxlJob('httpJobHandler') public ReturnT<String> httpJobHandler(String param) throws Exception { // param parse if (param == null || param.trim().length() == 0) { XxlJobLogger.log('param[' + param + '] invalid.'); return ReturnT.FAIL; } String[] httpParams = param.split('n'); String url = null; String method = null; String data = null; for (String httpParam : httpParams) { if (httpParam.startsWith('url:')) { url = httpParam.substring(httpParam.indexOf('url:') + 4).trim(); } if (httpParam.startsWith('method:')) { method = httpParam.substring(httpParam.indexOf('method:') + 7).trim().toUpperCase(); } if (httpParam.startsWith('data:')) { data = httpParam.substring(httpParam.indexOf('data:') + 5).trim(); } } // param valid if (url == null || url.trim().length() == 0) { XxlJobLogger.log('url[' + url + '] invalid.'); return ReturnT.FAIL; } if (method == null || !Arrays.asList('GET', 'POST').contains(method)) { XxlJobLogger.log('method[' + method + '] invalid.'); return ReturnT.FAIL; } // request HttpURLConnection connection = null; BufferedReader bufferedReader = null; try { // connection URL realUrl = new URL(url); connection = (HttpURLConnection) realUrl.openConnection(); // connection setting connection.setRequestMethod(method); connection.setDoOutput(true); connection.setDoInput(true); connection.setUseCaches(false); connection.setReadTimeout(5 * 1000); connection.setConnectTimeout(3 * 1000); connection.setRequestProperty('connection', 'Keep-Alive'); connection.setRequestProperty('Content-Type', 'application/json;charset=UTF-8'); connection.setRequestProperty('Accept-Charset', 'application/json;charset=UTF-8'); // do connection connection.connect(); // data if (data != null && data.trim().length() > 0) { DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream()); dataOutputStream.write(data.getBytes('UTF-8')); dataOutputStream.flush(); dataOutputStream.close(); } // valid StatusCode int statusCode = connection.getResponseCode(); if (statusCode != 200) { throw new RuntimeException('Http Request StatusCode(' + statusCode + ') Invalid.'); } // result bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream(), 'UTF-8')); StringBuilder result = new StringBuilder(); String line; while ((line = bufferedReader.readLine()) != null) { result.append(line); } String responseMsg = result.toString(); XxlJobLogger.log(responseMsg); return ReturnT.SUCCESS; } catch (Exception e) { XxlJobLogger.log(e); return ReturnT.FAIL; } finally { try { if (bufferedReader != null) { bufferedReader.close(); } if (connection != null) { connection.disconnect(); } } catch (Exception e2) { XxlJobLogger.log(e2); } } } /** * 5、生命周期任務示例:任務初始化與銷毀時,支持自定義相關邏輯; */ @XxlJob(value = 'demoJobHandler2', init = 'init', destroy = 'destroy') public ReturnT<String> demoJobHandler2(String param) throws Exception { XxlJobLogger.log('XXL-JOB, Hello World.'); return ReturnT.SUCCESS; } public void init() { logger.info('init'); } public void destroy() { logger.info('destory'); }}

6.增加XxlJobConfig配置類

package com.springcloud.blog.job.execute.core.config;import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class XxlJobConfig { private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class); @Value('${xxl.job.admin.addresses}') private String adminAddresses; @Value('${xxl.job.accessToken}') private String accessToken; @Value('${xxl.job.executor.appname}') private String appname; @Value('${xxl.job.executor.address}') private String address; @Value('${xxl.job.executor.ip}') private String ip; @Value('${xxl.job.executor.port}') private int port; @Value('${xxl.job.executor.logpath}') private String logPath; @Value('${xxl.job.executor.logretentiondays}') private int logRetentionDays; @Bean public XxlJobSpringExecutor xxlJobExecutor() { logger.info('>>>>>>>>>>> xxl-job config init.'); XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor(); xxlJobSpringExecutor.setAdminAddresses(adminAddresses); xxlJobSpringExecutor.setAppname(appname); xxlJobSpringExecutor.setAddress(address); xxlJobSpringExecutor.setIp(ip); xxlJobSpringExecutor.setPort(port); xxlJobSpringExecutor.setAccessToken(accessToken); xxlJobSpringExecutor.setLogPath(logPath); xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays); return xxlJobSpringExecutor; }}

三、結合Xxl-Job后臺系統增加定時任務

1.配置執行器

SpringBoot整合Xxl-Job的完整步驟記錄

執行器地址為(與blog-xxl-job中application.yml配置文件里的執行器地址需要保持一致,否則會注冊失敗,導致任務執行不了:

SpringBoot整合Xxl-Job的完整步驟記錄

2.添加任務

SpringBoot整合Xxl-Job的完整步驟記錄

3.任務執行成功的標志

SpringBoot整合Xxl-Job的完整步驟記錄

四、為什么選擇Xxl-Job

當初選擇使用Xxl-Job有這么幾個原因:

第一、團隊里有好幾個人上一家公司或上上家公司用過。

第二、這個生態比較豐富且開源。

第三、確實非常容易上手且輕量化(輕量化的一個體現就是非侵入式)

到此這篇關于SpringBoot整合Xxl-Job的文章就介紹到這了,更多相關SpringBoot整合Xxl-Job內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 天天躁日日躁狠狠躁av麻豆 | 9久久婷婷国产综合精品性色 | 激情久久av一区av二区av三区 | 日本成人一二三区 | a级在线观看 | 国产日韩欧美激情 | 精品国产91亚洲一区二区三区www | 亚洲 国产 另类 精品 专区 | 亚洲精选一区 | 国产精品久久久久国产a级 日韩在线二区 | 99影视| 欧美1区 | 91精品久久久久久久久入口 | 亚洲免费网站在线观看 | 国产激情精品一区二区三区 | 色综合天天综合网国产成人网 | 99久久久精品 | 成人精品一区二区 | 日韩成人在线观看 | 日韩成人精品在线 | 免费一级片 | 亚洲综合一区二区 | 亚洲一区久久久 | 免费在线一区二区三区 | 欧美日韩综合视频 | 亚洲一区二区三区免费在线 | 一区二区日韩精品 | 中文字幕一区二区三区免费视频 | 日韩中文字幕在线免费观看 | 国产高清一区二区 | 日本三级不卡 | 久久99精品久久久久久琪琪 | 成人在线一区二区 | 国产精品成人在线观看 | 久久国产综合 | 精品免费一区二区 | 超碰在线影院 | 亚洲精品在线视频 | 久久精品国产99国产 | 国产在线精品一区 | 欧美全黄 | 国产精一区 | av手机在线电影 | 国产精品久久久久久久久久久久久久 | 欧美一区二区免费在线 | 欧美精品成人在线视频 | 国产成人99久久亚洲综合精品 | 综合亚洲精品 | 欧美一级特| 1000部精品久久久久久久久 | 国产精品一任线免费观看 | 91精品久久久久久9s密挑 | 成人免费大片黄在线播放 | 亚洲一区二区在线播放 | 成人黄色短视频在线观看 | 亚洲精品影院在线 | 中文字幕一页二页 | 日韩视频精品在线 | 成人国产一区二区 | 在线免费看a | 日韩欧美国产一区二区 | 天堂综合网久久 | 天天干狠狠操 | 国产精品一区电影 | 在线成人免费视频 | 国内自拍视频在线观看 | 在线日韩 | 欧美一区二区三区精品 | 亚洲欧美一区二区三区四区 | 精品一区二区三区视频 | 国产成人久久 | 成人情趣视频 | 国产福利在线观看 | www.成人在线视频 | 91在线视频免费观看 | 中文字幕亚洲欧美日韩在线不卡 | 免费观看黄视频 | 欧美在线视频一区二区 | 婷婷久久五月天 | 国产日本欧美在线 | 日韩一区欧美一区 | 在线视频国产一区 | 一道本视频 | 成人免费网站视频 | 日本a在线 | 久久视频一区二区 | 在线精品国产一区二区三区 | 欧美一级黄带 | 日韩精品视频久久 | 亚洲网站免费 | 国产精品视屏 | 亚洲天堂一区 | 狠狠躁夜夜躁人人爽视频 | 精品久久国产 | 天天射欧美 | 曰批视频在线观看 | 日本一区二区三区四区 | 91小视频| 一区二区免费看 | 三区视频| 欧美精品一区二区三区中文字幕 | 中文字幕视频在线观看 | 国产一区二区免费电影 | yy6080久久伦理一区二区 | 国产黄色一级大片 | 国产人久久人人人人爽 | 国产精品国产三级国产aⅴ中文 | 日韩视频免费在线 | 久久久一 | 在线视频中文字幕 | 欧美一区不卡 | 免费午夜视频 | 在线成人| 午夜在线观看视频网站 | 国产一区二区三区免费 | 日韩国产精品视频 | 国产av毛片 | 无码国模国产在线观看 | 国产亚洲欧美在线 | 中文字幕一区二区三区乱码图片 | 日韩视频在线免费观看 | 黄色午夜 | 午夜a级理论片915影院 | 91精品一区二区三区久久久久久 | 亚洲精品免费视频 | 国产日韩在线视频 | 国产精品高清在线观看 | 久久亚洲美女 | 男人亚洲天堂网 | 久久久日韩精品一区二区三区 | 麻豆.蜜桃.91.天美入口 | 国产无区一区二区三麻豆 | 粉嫩av网站 | 国产精品久久久久久久久久久久久久 | 欧美一级特黄aaaaaaa在线观看 | 激情欧美一区二区三区中文字幕 | 日韩不卡一区二区三区 | 国产伦精品一区二区三区四区视频_ | 天天拍天天操 | 人人草人人 | 日韩欧美中文在线 | 神马久久久久久久久久 | 久久精品久久久久久 | 亚洲日韩中文字幕一区 | 精品日本久久 | 亚洲福利av | 成人免费毛片aaaaaa片 | 一区二区三区免费看 | 91精品国产91久久久久久黑人 | 一区二区三区在线看 | 国产一区二区三区久久久 | 久久久艹 | 91丁香婷婷综合久久欧美 | 国产精品久久久久久久一区探花 | 久久免费精品 | 亚洲欧美日韩精品久久亚洲区 | 巨大黑人极品videos精品 | 欧美日一区二区 | 亚洲精品一区二区三区蜜桃久 | 在线色网 | 福利在线看 | 国产一区二区三区免费 | 美女主播精品视频一二三四 | 欧美人体一区二区三区 | 精品国产黄a∨片高清在线 99热婷婷 | 一区二区视频 | 日韩免费观看视频 | 国内自拍网站 | 久久精品com| 男人天堂999 | 草久在线视频 | 国产欧美精选 | 午夜免费av | 女人毛片a毛片久久人人 | 久久久国产精品 | 美女逼网站 | 日本狠狠色| 欧美一区二区三区xxxx监狱 | 精品国产91久久久久久久 | 精品国产91 | 国产亚洲精品美女久久久久久久久久 | 色综合久久久久 | 99国产精品99久久久久久 | 亚洲人成在线播放 | 大桥未久亚洲精品久久久强制中出 | 在线成人免费观看www | 欧美成人精品 | 欧美一级在线观看视频 | 亚洲热在线观看 | 国产高潮呻吟久久渣男片 | 久久久网站| 国产伦精品一区二区三区四区视频 | 久久骚 | 最新中文字幕在线 | 国产日韩欧美在线观看 | 午夜婷婷激情 | 久草国产视频 | 日韩欧美一区二区三区免费观看 | 免费看黄视频网站 | 午夜国产精品视频 | 日韩欧美一区二区三区视频 | 午夜影院免费看 | 久久综合九色综合欧美狠狠 | 国产成人一区二区三区影院在线 | 欧美激情一区二区三区在线观看 | 日本精品一区二区在线观看 | 国产精品久久久久久久久 | 娇妻被朋友调教成玩物 | 亚洲视频在线看 | 中文字幕在线观看 | 午夜视频网 | 1204国产成人精品视频 | 最新国产成人 | 久久久麻豆| 9se成人免费网站 | 成人小视频在线观看 | 中文字幕在线第一页 | 91视频一区二区 | 欧洲国产伦久久久久久久 | av毛片| 国产一级免费视频 | av在线官网| 欧洲一区在线 | 亚洲成人一区 | 日本不卡一区二区三区在线观看 | 国产成人久久 | 中文字幕不卡在线88 | 亚洲av一级毛片 | 日韩一区二区三区精品 | 国产一区二区三区视频在线观看 | 欧美日韩中文字幕 | 精品久久久久国产免费 | 爱干视频 | 国产一区二精品区在线 | 天天射美女 | 操操网站 | 欧美性受 | 久操视频在线 | 国产精品久久久久久久免费大片 | 综合av第一页 | 国产精品热 | 欧美性视频网站 | 日韩精品久久 | 成人免费视频网站在线观看 | 国产精品久久久久久久7电影 | 全免一级毛片 | 一区二区精品在线观看 | 羞羞视频网站在线免费观看 | 日韩一区二区三区在线观看 | 久久亚洲精品视频 | 五月激情综合网 | 黄色一级大片网站 | 综合色婷婷一区二区亚洲欧美国产 | 日韩欧美国产一区二区三区 | 国产成人在线电影 | 欧美视频三区 | a免费在线观看 | 久久91精品国产 | 少妇性l交大片免费一 | 亚洲免费观看视频 | 国产电影一区二区三区图片 | 成人黄色在线观看 | 青青草综合在线 | 日韩精品久久久久久 | 亚洲视频中文字幕 | 国产 在线 | 日韩 | 国产精品无码久久久久 | 成av在线| 自拍偷拍一区二区三区 | 日韩成人在线视频 | 欧美日韩欧美日韩 | 亚洲国产区 | 色猫猫国产区一区二在线视频 | 99pao成人国产永久免费视频 | 狠狠的干 | 日韩二三区 | 青青草久草在线 | 在线观看国产 | 福利视频网站 | 99国产精品久久 | 久久精品国产亚洲blacked | 在线一区 | 一区二区三区无码高清视频 | 欧美一区二区三区精品 | 日韩成人 | 欧美成年黄网站色视频 | 欧产日产国产一区 | 亚洲欧美激情另类 | 在线一区二区三区 | 国产亚洲欧美一区二区 | 亚洲午夜视频 | 欧美精品免费在线观看 | 国产精品对白一区二区三区 | 欧美激情视频一区二区三区在线播放 | 久久综合一区二区三区 | 一区精品视频 | 成人免费一区二区三区视频网站 | 视频精品一区 | 欧美成人免费在线视频 | 在线播放亚洲 | 中文字幕国产日韩 | 亚洲免费观看视频 | 亚洲综合精品在线 | 国产在线小视频 | 成人在线视频一区二区 | 人人玩人人添人人澡97 | 精品一区二区三区四区五区 | 久久婷婷国产麻豆91天堂 | 久久精品欧美一区二区三区麻豆 | 99久久婷婷国产综合精品电影 | 亚洲国产精品一区二区第一页 | 黄色一级视频 | 亚洲香蕉精品 | 天天操天天干天天爽 | 美女国产 | 国产精品无码永久免费888 | 久久美女视频 | 97久久久国产精品 | 天天久久婷婷 | 91麻豆产精品久久久久久 | 国产精品久久久久久久久 | 欧洲精品在线视频 | 亚洲在线成人 | 精国产品一区二区三区四季综 | 欧美日韩视频网站 | 中文字幕av网 | 欧美日韩在线综合 | 国产精品第一国产精品 | 亚洲一区二区av | 中文视频在线 | 国色天香成人网 | 人人射人人插 | 男人的天堂亚洲 | 中文字幕免费看 | 国产精品欧美一区二区三区不卡 | av免费在线观看网站 | 久久精品久久综合 | 99久精品| 国产精品国产三级国产aⅴ中文 | 久久久久一区二区三区 | 成人片免费看 | 久久精品伊人 | 久久久中文字幕 | www国产网站| 人人干天天干 | 二区欧美| 久久成人精品 | 午夜在线| 亚洲欧美日韩精品久久奇米色影视 | 国产97久久 | 中文一区二区 | 国产精品www | 国产精品入口麻豆www | 亚洲三区电影 | 99精品在线观看 | www.精品 | 精品欧美乱码久久久久久 | 国产一区二区久久久 | 久久久精品一区二区 | 女人毛片 | 成人羞羞在线观看网站 | 久久久国产精品 | 亚洲成人精品 | 日韩超碰在线观看 | 国产欧美精选 | japan23xxxxhd乱| 人妖天堂狠狠ts人妖天堂狠狠 | 欧美日韩电影一区二区三区 | 亚洲视频在线看 | 久久99这里只有精品 | 五月天中文字幕 | 日韩视频精品在线 | 婷婷五综合| 精品99在线 | 亚洲欧美视频在线 | 夜夜操天天干, | 日韩一| 亚洲精品久久久久久久久久久久久 | 色猫猫国产区一区二在线视频 | 精品亚洲网| 在线观看毛片网站 | 性色av一区二区三区免费看开蚌 | 成人一区二区在线 | 免费看性生交大片 | 国产日产精品一区二区三区四区 | 亚洲成av人片在线观看无码 | 国产精品视频一区二区三区 | 欧美日韩精品一区二区 | 久久久99精品免费观看 | 成人免费小视频 | 国产免费av网站 | 午夜精品久久久久久久久久久久 | 涩涩视频在线免费看 | 免费av毛片| 日韩在线观看中文字幕 | 久久免费看 | 欧美福利一区二区三区 | 亚洲精品一二三 | 久久久综合亚洲91久久98 | 亚洲资源在线 | www312aⅴ欧美在线看 | 国产在线观看一区二区三区 | 欧美色阁 | 国产亚洲一区二区三区 | 欧美精品网站 | 国产美女一区二区 | 日韩一区二区在线视频 | 在线免费视频一区 | 欧美视频在线免费 | 国产18av | 日韩一区二区在线播放 | 欧美xxxx在线 | 91精品久久久久久久 | 一级片| 日p视频免费看 | 国产精品18久久久久久久久久久久 | 午夜精品网站 | 一区二区福利 | 成人深夜在线 | 中文字幕av一区二区 | 日韩精品久久 | 国产精品美女久久久久久久久久久 | 黄色小视频在线观看 | 国产日韩欧美精品 | 毛片免费观看 | 一区国产视频 | 日韩中文字幕在线观看 | 91av免费在线 | 国产97免费视频 | 免费视频一区二区 | 81精品国产乱码久久久久久 | www.久久视频 | 国产精品99久久久久久动医院 | 羞羞视频网站在线看 | 中文字幕日韩一区二区不卡 | 欧美综合一区二区三区 | 成人欧美一区二区三区在线播放 | 日本免费不卡 | 在线a视频 | 欧美精品亚洲精品 | 国产区免费观看 | 亚洲精品一区在线观看 | 成a人片在线观看 | 亚洲一区中文字幕在线观看 | 久久叉 | 91视频免费在线 | 国产午夜手机精彩视频 | 色网站视频 | 国产精品久久久久久久岛一牛影视 | 日韩在线不卡 | 日韩在线观看 | 国产免费一区二区三区 | 男人天堂社区 | 日韩国产在线观看 | 香蕉久久久 | 欧美一级精品 | 九色在线观看 | 欧美二区三区视频 | 日韩性视频 | 婷五月综合 | 天天插天天干 | 精品国产欧美一区二区 | 天天综合网91 | 国产精品一二三区 | 黄色精品一区二区 | 日韩精品一区二区三区在线 | 久久久久九九九九 | 国产精品网站在线 | 欧美一极视频 | 91xx在线观看 | 97视频观看 | 日韩网站免费观看 | av成人在线观看 | 成人午夜剧场 | 精品一区二区三区久久 | 亚洲一区二区三区四区在线 | 午夜成人免费电影 | 国产精品久久久久久久一区探花 | 国产宾馆自拍 | 亚洲精品第一页 | 美女一区 | 国产精品成人国产乱一区 | 精品国产一区二区在线 | 在线观看午夜免费视频 | 久久久91 | 999久久久国产999久久久 | 欧美aⅴ | 免费不卡视频 | 欧美日韩在线电影 | 亚洲品质自拍视频网站 | 亚洲精品国精品久久99热 | 日日精品| 精品综合| www国产免费| 国产一区二区三区高清 | 久久久精品国产 | 国产情侣激情 | 天天插天天干 | 久久性色 | 久久中文字幕一区 | 精品一二三区 | 天天干天天操天天舔 | 日韩视频免费在线播放 | 欧美极品欧美精品欧美视频 | 色黄视频在线观看 | 国产精品美女久久久久久免费 | 亚洲国产精品一区 | 91电影院| 亚洲综合视频一区 | 久久久久久亚洲一区二区三区蜜臀 | 久久精品久久久 | 97av视频在线观看 | 国产一区 | 成人亚洲一区 | 久久亚洲欧美日韩精品专区 | 国产四区| 天堂久久久久 | 欧美日本韩国一区二区 | 激情在线观看视频 | 成人日韩| www.成人在线视频 | 国产精品污www在线观看 | 国产欧美综合一区二区三区 | 精品国产一区二区三区四区 | 免费黄色网止 | 国产欧美中文字幕 | 99精品视频免费 | 国产精品久久久久久久久久久久冷 | 亚洲国产精品一区二区第一页 | 国产精选一区二区三区不卡催乳 | 久久亚洲国产 | 综合伊人 | 久久婷婷色| 二区免费视频 | 国产三级在线播放 | 久久久久久国产精品 | 国产福利片在线 | 亚洲欧美日韩在线 | 日韩三级在线 | 国产亚洲一区二区三区在线观看 | 97爱爱爱| 97成人在线视频 | 视频一区中文字幕 | 亚洲第一视频 | www久久久| 精品视频网站 | 午夜精品久久久久久久久久久久 | 久久久久国产一区二区三区四区 | 国产精品69毛片高清亚洲 | 中文字幕网在线 | 国产欧美一区二区三区国产幕精品 | 国产精品免费观看 | 一区二区三区国产在线观看 | 手机看片亚洲 | 欧美 日韩 在线播放 | 久久久久久久一区 | 国产视频一二区 | 久久精品欧美一区二区三区不卡 | 日韩影音 | 先锋久久| 成人午夜电影网 | 中文字幕亚洲一区二区三区 | 日韩精品中文字幕一区二区三区 | 91天天综合 | 国产视频久久精品 | 午夜影院在线观看视频 | 国产九九九 | 99国产精品久久久久久久 | 午夜成人在线视频 | 欧美中文字幕在线 | 欧美a区 | 91色在线观看 | 在线观看免费视频日韩 | 国产精品免费观看 | 日韩国产在线看 | 看免费毛片 | 色乱码一区二区三区网站 | 欧美日韩国产一级片 | 亚洲一区二区高清视频 | 色欧美片视频在线观看 | 国外成人在线视频 | 日韩一区二区三区福利视频 | 中字精品 | 亚洲精品一区二三区不卡 | 午夜小电影 | 久久精美视频 | 久久成人免费 | 国产成人在线电影 | 国产午夜精品久久久 | 1区2区视频 | 姐姐在线观看动漫第二集免费 | 精品日韩欧美一区二区三区在线播放 | 久久精品电影网 | 日韩一级大片 | 午夜精品在线 | 一级欧美一级日韩片 | 日本中文字幕一区 | 精品国产乱码久久久久久1区2区 | 亚洲久久久| 欧美国产日韩一区 | 亚洲人人 | 在线日本中文字幕 | 毛片网络| 欧美另类国产 | 国产成人av在线 | 91精品视频在线播放 | 自拍偷拍第一页 | 欧美精品一区二区三区免费视频 | 国产成人一区 | 久草新视频在线观看 | 一级片在线观看 | 天天摸天天看 | www久久国产 | 波多野结衣一区在线观看 | 久久久久亚洲精品 |