久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Flowable学习笔记(二、BPMN 2.0-基础 )

發布時間:2023/12/3 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flowable学习笔记(二、BPMN 2.0-基础 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自??Flowable學習筆記(二、BPMN 2.0-基礎 )

1、BPMN簡介

業務流程模型和標記法(BPMN, Business Process Model and Notation)是一套圖形化表示法,用于以業務流程模型詳細說明各種業務流程。

它最初由業務流程管理倡議組織(BPMI, Business Process Management Initiative)開發,名稱為"Business Process Modeling Notation",即“業務流程建模標記法”。BPMI于2005年與對象管理組織(OMG, Object Management Group)合并。2011年1月OMG發布2.0版本,同時改為現在的名稱。

?

2、BPMN基本要素

BPMN包含四種要素:

流對象(Flow Object):

  • 事件(Events)
  • 活動(Activities)
  • 網關(Gateways)

連接對象(Connecting Objects):

  • 順序流(Sequence Flow)
  • 消息流(Message Flow)
  • 關聯(Association)

泳道(Swimlanes):

  • 池(Pool)
  • 道(Lane)

附加工件(Artifacts/Artefacts):

  • 數據對象(Data Object)
  • 組(Group)
  • 注釋(Annotation)

在這里需要重要關注4個基本對象,

  • 事件(Event):用來表明流程的生命周期中發生了什么。
  • 活動(Activity):活動(Activities)是業務流程定義的核心元素,中文稱為“活動”、“節點”、“步驟”。一個活動可以是流程的基本處理單元(如人工任務、服務任務),也可以是一個組合單元(如外部子流程、嵌套子流程)。
  • 網關(Gateway):用來控制流程的流向。
  • 流向/順序流(Flow):是連接兩個流程節點的連線。

?

3、流程根元素

一個BPMN 2.0 XML流程的根是definitions元素。 在命名狀態,子元素會包含真正的業務流程定義。 每個process子元素 可以擁有一個id(必填)和 name(可選)。下面是一個空的BPMN 2.0業務流程 。

<definitions id="myProcesses"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://schema.omg.org/spec/BPMN/2.0 BPMN20.xsd"xmlns="http://schema.omg.org/spec/BPMN/2.0"typeLanguage="http://www.w3.org/2001/XMLSchema"expressionLanguage="http://www.w3.org/1999/XPath"targetNamespace="http://jbpm.org/example/bpmn2"><process id="My business processs" name="myBusinessProcess">

?

4、BPMN結構

在BPMN中,流對象是用于定義業務流程行為的主要圖形元素。需要重點理解三個流對象。


?

4.1、事件

事件包含啟動事件、結束事件、中間事件,還有一類邊界事件,屬于中間中間事件的一種。

?

4.1.1、啟動事件(startEvent)

啟動事件(start event)(有的譯為開始時間)是流程的起點。啟動事件的類型(例如流程在消息到達時啟動,在指定的時間間隔后啟動,等等),定義了流程如何啟動,并顯示為啟動事件中的小圖標。在XML中,類型由子元素聲明來定義。

啟動事件隨時捕獲:啟動事件(保持)等候,直到特定的觸發器被觸發。

4.1.1.1、空啟動事件

  • 描述:空”啟動事件(none Start Event),指的是未指定啟動流程實例觸發器的啟動事件。引擎將無法預知何時啟動流程實例。空啟動事件用于流程實例通過調用下列startProcessInstanceByXXX API方法啟動的情況。
ProcessInstance processInstance = runtimeService.startProcessInstanceByXXX();
  • 圖示:空啟動事件用空心圓圈表示,中間沒有圖標(也就是說,沒有觸發器):

  • xml表示:
<startEvent id="start" name="my start event" />

?

4.1.1.2、定時器啟動事件

  • 描述:定時器啟動事件(timer start event)在指定時間創建流程實例。在流程只需要啟動一次,或者流程需要在特定的時間間隔重復啟動時,可以使用定時器啟動事件。

請注意:子流程不能有定時器啟動事件。
請注意:定時器啟動事件,在流程部署的同時就開始計時。不需要調用startProcessInstanceByXXX就會在時間啟動。調用startProcessInstanceByXXX時會在定時啟動之外額外啟動一個流程。
請注意:當部署帶有定時器啟動事件的流程的更新版本時,上一版本的定時器作業會被移除。這是因為通常并不希望舊版本的流程仍然自動啟動新的流程實例。

  • 圖示:定時器啟動事件,用其中有一個鐘表圖標的圓圈來表示。

  • XML表示:定時器啟動事件的XML表示格式,是普通的啟動事件聲明加上定時器定義子元素。

示例:流程會啟動4次,間隔5分鐘,從2011年3月11日,12:13開始

<startEvent id="theStart"><timerEventDefinition><timeCycle>R4/2011-03-11T12:13/PT5M</timeCycle></timerEventDefinition> </startEvent>

示例:流程會在設定的時間啟動一次

<startEvent id="theStart"><timerEventDefinition><timeDate>2011-03-11T12:13:14</timeDate></timerEventDefinition> </startEvent>

?

4.1.1.3、消息啟動事件

  • 描述:
    消息啟動事件(message start event)使用具名消息啟動流程實例。消息名用于選擇正確的啟動事件。

當部署具有一個或多個消息啟動事件的流程定義時,會做如下判斷:

>> 給定流程定義中,消息啟動事件的名字必須是唯一的。一個流程定義不得包含多個同名的消息啟動事件。如果流程定義中有兩個或多個消息啟動事件引用同一個消息,或者兩個或多個消息啟動事件引用了具有相同消息名字的消息,則Flowable會在部署這個流程定義時拋出異常。

>> 在所有已部署的流程定義中,消息啟動事件的名字必須是唯一的。如果在流程定義中,一個或多個消息啟動事件引用了已經部署的另一流程定義中消息啟動事件的消息名,則Flowable會在部署這個流程定義時拋出異常。

>> 流程版本:在部署流程定義的新版本時,會取消上一版本的消息訂閱,即使新版本中并沒有這個消息事件)。

  • 圖示:消息啟動事件用其中有一個消息事件標志的圓圈表示。這個標志并未填充,用以表示捕獲(接收)行為。

  • XML表示:
    消息啟動事件的XML表示格式,為普通啟動事件聲明加上messageEventDefinition子元素:

<definitions id="definitions"xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"xmlns:flowable="http://flowable.org/bpmn"targetNamespace="Examples"xmlns:tns="Examples"><message id="newInvoice" name="newInvoiceMessage" /><process id="invoiceProcess"><startEvent id="messageStart" ><messageEventDefinition messageRef="tns:newInvoice" /></startEvent>...</process></definitions>

?

4.1.1.4、信號啟動事件

  • 描述:
    信號啟動事件(signal start event),使用具名信號啟動流程實例。這個信號可以由流程實例中的信號拋出中間事件(intermediary signal throw event),或者API(runtimeService.signalEventReceivedXXX方法)觸發。兩種方式都會啟動所有擁有相同名字信號啟動事件的流程定義。

請注意可以選擇異步還是同步啟動流程實例。

需要為API傳遞的signalName,是由signal元素的name屬性決定的名字。signal元素由signalEventDefinition的signalRef屬性引用。

  • 圖示:
    信號啟動事件用其中有一個信號事件標志的圓圈表示。這個標志并未填充,用以表示捕獲(接收)行為。

?

  • XML表示:
    信號啟動事件的XML表示格式,為普通啟動事件聲明,加上signalEventDefinition子元素:
<signal id="theSignal" name="The Signal" /><process id="processWithSignalStart1"><startEvent id="theStart"><signalEventDefinition id="theSignalEventDefinition" signalRef="theSignal" /></startEvent><sequenceFlow id="flow1" sourceRef="theStart" targetRef="theTask" /><userTask id="theTask" name="Task in process A" /><sequenceFlow id="flow2" sourceRef="theTask" targetRef="theEnd" /><endEvent id="theEnd" /> </process>

?

4.1.1.5、錯誤啟動事件

  • 描述:
    錯誤啟動事件(error start event),可用于觸發事件子流程(Event Sub-Process)。錯誤啟動事件不能用于啟動流程實例。
    錯誤啟動事件總是中斷。

  • 圖示:
    錯誤啟動事件用其中有一個錯誤事件標志的圓圈表示。這個標志并未填充,用以表示捕獲(接收)行為。

  • XML表示:
    錯誤啟動事件的XML表示格式,為普通啟動事件聲明加上errorEventDefinition子元素:
<startEvent id="messageStart" ><errorEventDefinition errorRef="someError" /> </startEvent>

?

4.1.2、結束事件

結束事件(end event)標志著流程或子流程中一個分支的結束。結束事件總是拋出(型)事件。這意味著當流程執行到達結束事件時,會拋出一個結果。結果的類型由事件內部的黑色圖標表示。在XML表示中,類型由子元素聲明給出。

?

4.1.2.1、空結束事件

  • 描述:
    “空”結束事件(none end event),意味著當到達這個事件時,沒有特別指定拋出的結果。因此,引擎除了結束當前執行分支之外,不會多做任何事情。

  • 圖示:
    空結束事件,用其中沒有圖標(沒有結果類型)的粗圓圈表示。

  • xml表示:
    空事件的XML表示格式為普通結束事件聲明,沒有任何子元素(其它種類的結束事件都有子元素,用于聲明其類型)。
<endEvent id="end" name="my end event" />

?

4.1.2.2、錯誤結束事件

  • 描述:
    當流程執行到達錯誤結束事件(error end event)時,結束執行的當前分支,并拋出錯誤。這個錯誤可以由匹配的錯誤邊界中間事件捕獲。如果找不到匹配的錯誤邊界事件,將會拋出異常。

  • 圖示:
    錯誤結束事件事件用內部有一個錯誤圖標的標準結束事件(粗圓圈)表示。錯誤圖標是全黑的,代表拋出的含義。

  • XML表示:
    錯誤結束事件表示為結束事件,加上errorEventDefinition子元素:
<endEvent id="myErrorEndEvent"><errorEventDefinition errorRef="myError" /> </endEvent>

errorRef屬性可以引用在流程外定義的error元素:

<error id="myError" errorCode="123" /> ... <process id="myProcess"> ...

?

4.1.2.3、終止結束事件

  • 描述:
    當到達終止結束事件(terminate end event)時,當前的流程實例或子流程會被終止。也就是說,當執行到達終止結束事件時,會判斷第一個范圍 scope(流程或子流程)并終止它。在BPMN 2.0中,子流程可以是嵌入式子流程,調用活動,事件子流程,或事務子流程。有一條通用規則:當存在多實例的調用過程或嵌入式子流程時,只會終止一個實例,其他的實例與流程實例不會受影響。
    可以添加一個可選屬性terminateAll。當其為true時,無論該終止結束事件在流程定義中的位置,也無論它是否在子流程(甚至是嵌套子流程)中,都會終止(根)流程實例。

  • 圖示:
    終止結束事件用內部有一個全黑圓的標準結束事件(粗圓圈)表示。

  • xml表示:
    終止結束事件,表示為結束事件,加上terminateEventDefinition子元素。
    terminateAll屬性是可選的(默認為false)。

<endEvent id="myEndEvent ><terminateEventDefinition flowable:terminateAll="true"></terminateEventDefinition> </endEvent>

?

4.1.2.4、取消結束事件

  • 描述:
    取消結束事件(cancel end event)只能與BPMN事務子流程(BPMN transaction subprocess)一起使用。當到達取消結束事件時,會拋出取消事件,且必須由取消邊界事件(cancel boundary event)捕獲。取消邊界事件將取消事務,并觸發補償(compensation)。

  • 圖示:
    取消結束事件用內部有一個取消圖標的標準結束事件(粗圓圈)表示。取消圖標是全黑的,代表拋出的含義。

  • xml表示:
    取消結束事件,表示為結束事件,加上cancelEventDefinition子元素。

<endEvent id="myCancelEndEvent"><cancelEventDefinition /> </endEvent>

?

4.1.3、邊界事件

邊界事件(boundary event)是捕獲型事件,依附在活動(activity)上。邊界事件永遠不會拋出。這意味著當活動運行時,事件將監聽特定類型的觸發器。當捕獲到事件時,會終止活動,并沿該事件的出口順序流繼續。

所有的邊界事件都用相同的方式定義:

<boundaryEvent id="myBoundaryEvent" attachedToRef="theActivity"><XXXEventDefinition/> </boundaryEvent>

邊界事件由下列元素定義:

  • (流程范圍內)唯一的標識符
* 由attachedToRef屬性定義的,對該事件所依附的活動的引用。邊界事件及其所依附的活動,應定義在相同級別(也就是說,邊界事件并不包含在活動內)。* 定義了邊界事件的類型的,形如XXXEventDefinition的XML子元素(例如TimerEventDefinition,ErrorEventDefinition,等等)。查閱特定的邊界事件類型,以了解更多細節。

?

4.1.3.1、定時器邊界事件

  • 描述:
    定時器邊界事件(timer boundary event)的行為像是跑表與鬧鐘。當執行到達邊界事件所依附的活動時,將啟動定時器。當定時器觸發時(例如在特定時間間隔后),可以中斷活動,并沿著邊界事件的出口順序流繼續執行。

  • 圖示:
    定時器邊界事件用內部有一個定時器圖標的標準邊界事件(圓圈)表示。

  • XML表示:
    定時器邊界事件與一般邊界事件一樣定義。其中類型子元素為timerEventDefinition元素。
<boundaryEvent id="escalationTimer" cancelActivity="true" attachedToRef="firstLineSupport"><timerEventDefinition><timeDuration>PT4H</timeDuration></timerEventDefinition> </boundaryEvent>

?

4.1.3.2、錯誤邊界事件

  • 描述
    在活動邊界上的錯誤捕獲中間(事件),或簡稱錯誤邊界事件(error boundary event),捕獲其所依附的活動范圍內拋出的錯誤。
    在嵌入式子流程或者調用活動上定義錯誤邊界事件最有意義,因為子流程的范圍會包括其中的所有活動。錯誤可以由錯誤結束事件拋出。這樣的錯誤會逐層向其上級父范圍傳播,直到在范圍內找到一個匹配錯誤事件定義的錯誤邊界事件。
    當捕獲錯誤事件時,會銷毀邊界事件定義所在的活動,同時銷毀其中所有的當前執行(例如,并行活動,嵌套子流程,等等)。流程執行將沿著邊界事件的出口順序流繼續。

  • 圖示:
    錯誤邊界事件用內部有一個錯誤圖標的標準中間事件(兩層圓圈)表示。錯誤圖標是白色的,代表捕獲的含義。

  • xml表示:
    錯誤邊界事件與標準邊界事件一樣定義:

<boundaryEvent id="catchError" attachedToRef="mySubProcess"><errorEventDefinition errorRef="myError"/> </boundaryEvent>

?

4.1.3.3、信號邊界事件

  • 描述:
    依附在活動邊界上的信號捕獲中間(事件),或簡稱信號邊界事件(signal boundary event),捕獲與其信號定義具有相同名稱的信號。

與其他事件例如錯誤邊界事件不同的是,信號邊界事件不只是捕獲其所依附范圍拋出的信號。信號邊界事件為全局范圍(廣播)的,意味著信號可以從任何地方拋出,甚至可以是不同的流程實例。

  • 圖示:
    信號邊界事件,用內部有一個信號圖標的標準中間事件(兩層圓圈)表示。信號圖標是白色的,代表捕獲的含義。

  • xml表示:
    信號邊界事件與標準邊界事件一樣定義:
<boundaryEvent id="boundary" attachedToRef="task" cancelActivity="true"><signalEventDefinition signalRef="alertSignal"/> </boundaryEvent>

?

4.1.3.4、消息邊界事件

  • 描述:
    在活動邊界上的消息捕獲中間(事件),或簡稱消息邊界事件(message boundary event),捕獲與其消息定義具有相同消息名的消息。

  • 圖示:
    消息邊界事件,用內部有一個消息圖標的標準中間事件(兩層圓圈)表示。信號圖標是白色的,代表捕獲的含義。

    息邊界事件既可以是中斷型的(右圖),也可以是非中斷型的(左圖)。

  • XML表示:
    消息邊界事件與標準邊界事件一樣定義:

<boundaryEvent id="boundary" attachedToRef="task" cancelActivity="true"><messageEventDefinition messageRef="newCustomerMessage"/> </boundaryEvent>

?

4.1.3.5、取消邊界事件

  • 描述
    依附在事務子流程邊界上的取消捕獲中間事件,或簡稱取消邊界事件(cancel boundary event),在事務取消時觸發。當取消邊界事件觸發時,首先會中斷當前范圍的所有活動執行。接下來,啟動事務范圍內所有有效的的補償邊界事件(compensation boundary event)。補償會同步執行,也就是說在離開事務前,邊界事件會等待補償完成。當補償完成時,沿取消邊界事件的任何出口順序流離開事務子流程。

>>> 一個事務子流程只允許使用一個取消邊界事件。
>>> 如果事務子流程中有嵌套的子流程,只會對成功完成的子流程觸發補償。
>>> 如果取消邊界事件放置在具有多實例特性的事務子流程上,如果一個實例觸發了取消,則邊界事件將取消所有實例。

  • 圖示:
    取消邊界事件,用內部有一個取消圖標的標準中間事件(兩層圓圈)表示。取消圖標是白色的(未填充),代表捕獲的含義。

  • xml表示:
    取消邊界事件與標準邊界事件一樣定義:
<boundaryEvent id="boundary" attachedToRef="transaction" ><cancelEventDefinition /> </boundaryEvent>

?

4.1.3.6、補償邊界事件

  • 描述:
    依附在活動邊界上的補償捕獲中間(事件),或簡稱補償邊界事件(compensation boundary event),可以為活動附加補償處理器。
    補償邊界事件必須使用直接關聯的方式引用單個的補償處理器。
    補償邊界事件與其它邊界事件的活動策略不同。其它邊界事件,例如信號邊界事件,在其依附的活動啟動時激活;當該活動結束時會被解除,并取消相應的事件訂閱。而補償邊界事件不是這樣。補償邊界事件在其依附的活動成功完成時激活,同時創建補償事件的相應訂閱。當補償事件被觸發,或者相應的流程實例結束時,才會移除訂閱。請考慮下列因素:

    >>> 當補償被觸發時,會調用補償邊界事件關聯的補償處理器。調用次數與其依附的活動成功完成的次數相同。

    >>>如果補償邊界事件依附在具有多實例特性的活動上,則會為每一個實例創建補償事件訂閱。

    >>> 如果補償邊界事件依附在位于循環內部的活動上,則每次該活動執行時,都會創建一個補償事件訂閱。

    >>> 如果流程實例結束,則取消補償事件的訂閱。

  • 圖示:
    補償邊界事件,用內部有一個補償圖標的標準中間事件(兩層圓圈)表示。補償圖標是白色的(未填充),代表捕獲的含義。另外,補償邊界事件使用單向連接關聯補償處理器,如下圖所示:

  • xml表示:
    補償邊界事件與標準邊界事件一樣定義:

<boundaryEvent id="compensateBookHotelEvt" attachedToRef="bookHotel" ><compensateEventDefinition /> </boundaryEvent><association associationDirection="One" id="a1"sourceRef="compensateBookHotelEvt" targetRef="undoBookHotel" /><serviceTask id="undoBookHotel" isForCompensation="true" flowable:class="..." />

?

4.1.4、中間事件

在開始事件和結束事件之間發生的事件都稱為中間事件。中間事件會影響流程的流轉路線,但不會啟動或直接終止流程的執行。

中間事件按照其特性可以分為兩類:中間Catching(捕獲)事件和中間Throwing(拋出)事件,當流程到達中間Catching事件時,它會一直在等待被觸發,直接接收到的信息,才會被觸發,而當流程到達中間Throwing事件時,該事件會自動被觸發并拋出相應的結果或者信息。

?

4.1.4.1、捕獲中間事件

所有的捕獲中間事件(intermediate catching events)都使用相同方式定義:

<intermediateCatchEvent id="myIntermediateCatchEvent" ><XXXEventDefinition/> </intermediateCatchEvent>

捕獲中間事件由下列元素定義:

  • (流程范圍內)唯一的標識符

  • 定義了捕獲中間事件類型的,形如XXXEventDefinition的XML子元素(例如TimerEventDefinition等)。查閱特定中間捕獲事件類型,以了解更多細節。

?

4.1.4.1.1、定時器捕獲中間事件

  • 描述:
    定時器捕獲中間事件(timer intermediate catching event)的行為像是跑表。當執行到達捕獲事件時,啟動定時器;當定時器觸發時(例如在一段時間間隔后),沿定時器中間事件的出口順序流繼續執行。

  • 圖示:
    定時器中間事件用內部有定時器圖標的中間捕獲事件表示。

  • XML表示:
    定時器中間事件與捕獲中間事件一樣定義。子元素為timerEventDefinition。

<intermediateCatchEvent id="timer"><timerEventDefinition><timeDuration>PT5M</timeDuration></timerEventDefinition> </intermediateCatchEvent>

?

4.1.4.1.2、信號捕獲中間事件

  • 描述:
    信號捕獲中間事件(signal intermediate catching event),捕獲與其引用的信號定義具有相同信號名稱的信號。

>>> 與其他事件如錯誤事件不同,信號在被捕獲后不會被消耗。如果有兩個激活的信號中間事件,捕獲相同的信號事件,則兩個中間事件都會被觸發,哪怕它們不在同一個流程實例里。

  • 圖示:
    信號捕獲中間事件用內部有信號圖標的標準中間事件(兩層圓圈)表示。信號圖標是白色的(未填充),代表捕獲的含義。

  • xml表示:
    信號中間事件與捕獲中間事件一樣定義。子元素為signalEventDefinition。
<intermediateCatchEvent id="signal"><signalEventDefinition signalRef="newCustomerSignal" /> </intermediateCatchEvent>

?

4.1.4.1.3、信號捕獲中間事件

  • 描述:
    消息捕獲中間事件(message intermediate catching event),捕獲特定名字的消息。

  • 圖示:
    消息捕獲中間事件用內部有消息圖標的標準中間事件(兩層圓圈)表示。消息圖標是白色的(未填充),代表捕獲的含義。

  • xml表示:
    消息中間事件與捕獲中間事件一樣定義。子元素為messageEventDefinition。
<intermediateCatchEvent id="message"><messageEventDefinition signalRef="newCustomerMessage" /> </intermediateCatchEvent>

?

4.1.4.2、拋出中間事件

所有的拋出中間事件(intermediate throwing evnet)都使用相同方式定義:

<intermediateThrowEvent id="myIntermediateThrowEvent" ><XXXEventDefinition/> </intermediateThrowEvent>

拋出中間事件由下列元素定義:

  • (流程范圍內)唯一的標識符
* 定義了拋出中間事件類型的,形如XXXEventDefinition的XML子元素(例如signalEventDefinition等)。查閱特定中間拋出事件類型,以了解更多細節。

?

4.1.4.2.1、空拋出中間事件

下面的流程圖展示了空拋出中間事件(intermediate throwing none event)的簡單例子。其用于指示流程已經到達了某種狀態。

添加一個執行監聽器后,空中間事件就可以成為很好的監視某些KPI(Key Performance Indicators 關鍵績效指標)的鉤子。

<intermediateThrowEvent id="noneEvent"><extensionElements><flowable:executionListener class="org.flowable.engine.test.bpmn.event.IntermediateNoneEventTest$MyExecutionListener" event="start" /></extensionElements> </intermediateThrowEvent>

?

4.1.4.2.2、信號拋出中間事件

  • 描述:
    信號拋出中間事件(signal intermediate throwing event),拋出所定義信號的信號事件。

在Flowable中,信號會廣播至所有的激活的處理器(也就是說,所有的信號捕獲事件)。可以同步或異步地發布信號。

  • 在默認配置中,信號同步地傳遞。這意味著拋出信號的流程實例會等待,直到信號傳遞至所有的捕獲信號的流程實例。所有的捕獲流程實例也會在與拋出流程實例相同的事務中,也就是說如果收到通知的流程實例中,有一個實例產生了技術錯誤(拋出異常),則所有相關的實例都會失敗。
  • 信號也可以異步地傳遞。這是由到達拋出信號事件時的發送處理器來決定的。對于每個激活的處理器,JobExecutor會為其存儲并傳遞一個異步通知消息(asynchronous notification message),即作業(Job)。
  • 圖示:
    消息拋出中間事件用內部有信號圖標的標準中間事件(兩層圓圈)表示。信號圖標是黑色的(已填充),代表拋出的含義。

  • xml表示:
    信號中間事件與拋出中間事件一樣定義。子元素為signalEventDefinition。

<intermediateThrowEvent id="signal"><signalEventDefinition signalRef="newCustomerSignal" /> </intermediateThrowEvent>

異步信號事件這樣定義:

<intermediateThrowEvent id="signal"><signalEventDefinition signalRef="newCustomerSignal" flowable:async="true" /> </intermediateThrowEvent>

?

4.1.4.2.3、補償拋出中間事件

  • 描述:
    補償拋出中間事件(compensation intermediate throwing event)用于觸發補償。

觸發補償:既可以為設計的活動觸發補償,也可以為補償事件所在的范圍觸發補償。補償由活動所關聯的補償處理器執行。

  • 活動拋出補償時,活動關聯的補償處理器將執行的次數,為活動成功完成的次數。
  • 拋出補償時,當前范圍中所有的活動,包括并行分支上的活動都會被補償。
* * 補償分層觸發:如果將要被補償的活動是一個子流程,則該子流程中所有的活動都會觸發補償。如果該子流程有嵌套的活動,則會遞歸地拋出補償。然而,補償不會傳播至流程的上層:如果子流程中觸發了補償,該補償不會傳播至子流程范圍外的活動。BPMN規范指出,對“與子流程在相同級別”的活動觸發補償。* * 在Flowable中,補償按照執行的相反順序運行。這意味著最后完成的活動會第一個補償。
  • 可以使用補償拋出中間事件補償已經成功完成的事務子流程。

>>> 如果拋出補償的范圍中有一個子流程,而該子流程包含有關聯了補償處理器的活動,則當拋出補償時,只有該子流程成功完成時,補償才會傳播至該子流程。如果子流程內嵌套的部分活動已經完成,并附加了補償處理器,但包含這些活動的子流程還沒有完成,則這些補償處理器仍不會執行。參考下面的例子:

在這個流程中,有兩個并行的執行:一個執行嵌入子流程,另一個執行“charge credit card(信用卡付款)”活動。假定兩個執行都已開始,且第一個執行正等待用戶完成“review bookings(檢查預定)”任務。第二個執行進行了“charge credit card(信用卡付款)”活動的操作,拋出了錯誤,導致“cancel reservations(取消預訂)”事件觸發補償。這時并行子流程還未完成,意味著補償不會傳播至該子流程,因此不會執行“cancel hotel reservation(取消酒店預訂)”補償處理器。而如果“cancel reservations(取消預訂)”運行前,這個用戶任務(因此該嵌入式子流程也)已經完成,則補償會傳播至該嵌入式子流程。

流程變量:當補償嵌入式子流程時,用于執行補償處理器的執行,可以訪問子流程的局部流程變量在子流程完成時的值。為此,會對范圍執行(為執行子流程所創建的執行)所關聯的流程變量進行快照。意味著:

  • 補償執行器無法訪問子流程范圍內并行執行所添加的變量。
* * 上層執行所關聯的流程變量(例如流程實例關聯的流程變量)不在該快照中。因為補償處理器可以直接訪問這些流程變量在拋出補償時的值。* * 只會為嵌入式子流程進行變量快照。其他活動不會進行變量快照。

目前的限制:

  • 目前不支持waitForCompletion="false"。當補償拋出中間事件觸發補償時,只有在補償成功完成時,才會離開該事件。
* * 補償由并行執行運行。并行執行會按照補償活動完成的逆序啟動。
  • 補償不會傳播至調用活動(call activity)生成的子流程。
  • 圖示:
    補償拋出中間事件用內部有補償圖標的標準中間事件(兩層圓圈)表示。補償圖標是黑色的(已填充),代表拋出的含義。

  • xml表示:
    補償中間事件與拋出中間事件一樣定義。子元素為compensateEventDefinition。
<intermediateThrowEvent id="throwCompensation"><compensateEventDefinition /> </intermediateThrowEvent>

另外,activityRef可選項用于為指定的范圍或活動觸發補償:

<intermediateThrowEvent id="throwCompensation"><compensateEventDefinition activityRef="bookHotel" /> </intermediateThrowEvent>

?

4.2、順序流

  • 描述:
    順序流(sequence flow)是流程中兩個元素間的連接器。在流程執行過程中,一個元素被訪問后,會沿著其所有出口順序流繼續執行。這意味著BPMN 2.0的默認是并行執行的:兩個出口順序流就會創建兩個獨立的、并行的執行路徑。

  • 圖示:
    順序流,用從源元素指向目標元素的箭頭表示。箭頭總是指向目標元素。

  • xml表示:
    順序流需要有流程唯一的id,并引用存在的源與目標元素。

<sequenceFlow id="flow1" sourceRef="theStart" targetRef="theTask" />

?

4.2.1、條件順序流

  • 描述:
    在順序流上可以定義條件(conditional sequence flow)。當離開BPMN 2.0活動時,默認行為是計算其每個出口順序流上的條件。當條件計算為true時,選擇該出口順序流。如果該方法選擇了多條順序流,則會生成多個執行,流程會以并行方式繼續。

>>> 上面的介紹針對BPMN 2.0活動(與事件),但不適用于網關(gateway)。不同類型的網關,會用不同的方式處理帶有條件的順序流。

  • 圖示:
    條件順序流用起點帶有小菱形的順序流表示。在順序流旁顯示條件表達式。

  • xml表示:
    條件順序流的XML表示格式為含有conditionExpression(條件表達式)子元素的普通順序流。請注意目前只支持tFormalExpressions。可以省略xsi:type=""定義,默認為唯一支持的表達式類型。
<sequenceFlow id="flow" sourceRef="theStart" targetRef="theTask"><conditionExpression xsi:type="tFormalExpression"><![CDATA[${order.price > 100 && order.price < 250}]]></conditionExpression> </sequenceFlow>

>>> 目前conditionalExpressions只能使用UEL。使用的表達式需要能解析為boolean值,否則當計算條件時會拋出異常。

  • 下面的例子,通過典型的JavaBean的方式,使用getter引用流程變量的數據。
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${order.price > 100 && order.price < 250}]]> </conditionExpression>
  • 這個例子調用了一個解析為boolean值的方法。
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${order.isStandardOrder()}]]> </conditionExpression>

Flowable發行版中包含了下列示例流程,用于展示值表達式與方法表達式的使用。

?

4.2.2、默認順序流

  • 描述:
    所有的BPMN 2.0任務與網關都可以使用默認順序流(default sequence flow)。只有當沒有其他順序流可以選擇時,才會選擇默認順序流作為活動的出口順序流。流程會忽略默認順序流上的條件。

  • 圖示:
    默認順序流用起點帶有“斜線”標記的一般順序流表示。

  • XML表示:
    活動的默認順序流由該活動的default屬性定義。下面的XML片段展示了一個排他網關(exclusive gateway),帶有默認順序流flow 2。只有當conditionA與conditionB都計算為false時,才會選擇默認順序流作為網關的出口順序流。
<exclusiveGateway id="exclusiveGw" name="Exclusive Gateway" default="flow2" /><sequenceFlow id="flow1" sourceRef="exclusiveGw" targetRef="task1"><conditionExpression xsi:type="tFormalExpression">${conditionA}</conditionExpression> </sequenceFlow><sequenceFlow id="flow2" sourceRef="exclusiveGw" targetRef="task2"/><sequenceFlow id="flow3" sourceRef="exclusiveGw" targetRef="task3"><conditionExpression xsi:type="tFormalExpression">${conditionB}</conditionExpression> </sequenceFlow>

對應下面的圖示:

?

4.3、網關

網關(gateway)用于控制執行的流向(或者按BPMN 2.0的用詞:執行的“標志(token)”)。網關可以消費(consuming)與生成(generating)標志。

網關用其中帶有圖標的菱形表示。該圖標顯示了網關的類型。

這里出口順序流的含義與BPMN 2.0中的一般情況不一樣。一般情況下,會選擇所有條件計算為true的順序流,并行執行。而使用排他網關時,只會選擇一條順序流。當多條順序流的條件都計算為true時,會且僅會選擇在XML中最先定義的順序流繼續流程。如果沒有可選的順序流,會拋出異常。

?

4.3.1、排他網關

  • 描述:
    排他網關(exclusive gateway)(也叫異或網關 XOR gateway,或者更專業的,基于數據的排他網關 exclusive data-based gateway),用于對流程中的決策建模。當執行到達這個網關時,會按照所有出口順序流定義的順序對它們進行計算。選擇第一個條件計算為true的順序流(當沒有設置條件時,認為順序流為true)繼續流程。

  • 圖示:
    排他網關用內部帶有’X’圖標的標準網關(菱形)表示,'X’圖標代表異或的含義。請注意內部沒有圖標的網關默認為排他網關。BPMN 2.0規范不允許在同一個流程中混合使用有及沒有X的菱形標志。

  • xml表示:
    排他網關的XML表示格式很簡潔:一行定義網關的XML。條件表達式定義在其出口順序流上。

以下面的模型為例:

其xml表示如下:

<exclusiveGateway id="exclusiveGw" name="Exclusive Gateway" /><sequenceFlow id="flow2" sourceRef="exclusiveGw" targetRef="theTask1"><conditionExpression xsi:type="tFormalExpression">${input == 1}</conditionExpression> </sequenceFlow><sequenceFlow id="flow3" sourceRef="exclusiveGw" targetRef="theTask2"><conditionExpression xsi:type="tFormalExpression">${input == 2}</conditionExpression> </sequenceFlow><sequenceFlow id="flow4" sourceRef="exclusiveGw" targetRef="theTask3"><conditionExpression xsi:type="tFormalExpression">${input == 3}</conditionExpression> </sequenceFlow>

?

4.3.2、并行網關

  • 描述:
    網關也可以建模流程中的并行執行。在流程模型中引入并行的最簡單的網關,就是并行網關(parallel gateway)。它可以將執行分支(fork)為多條路徑,也可以合并(join)多條入口路徑的執行。

并行網關的功能取決于其入口與出口順序流:

  • 分支:所有的出口順序流都并行執行,為每一條順序流創建一個并行執行。
  • 合并:所有到達并行網關的并行執行都會在網關處等待,直到每一條入口順序流都到達了有個執行。然后流程經過該合并網關繼續。

>>> 如果并行網關同時具有多條入口與出口順序流,可以同時具有分支與合并的行為。在這種情況下,網關首先合并所有入口順序流,然后分裂為多條并行執行路徑。

與其他網關類型有一個重要區別:并行網關不計算條件。如果連接到并行網關的順序流上定義了條件,會直接忽略該條件。

  • 圖示:
    并行網關,用內部帶有’加號’圖標的網關(菱形)表示,代表與(AND)的含義。

  • xml表示:
    定義并行網關只需要一行XML:
<parallelGateway id="myParallelGateway" />

實際行為(分支,合并或兩者皆有),由連接到該并行網關的順序流定義。

例如,上面的模型表示為下面的XML:

<startEvent id="theStart" /> <sequenceFlow id="flow1" sourceRef="theStart" targetRef="fork" /><parallelGateway id="fork" /> <sequenceFlow sourceRef="fork" targetRef="receivePayment" /> <sequenceFlow sourceRef="fork" targetRef="shipOrder" /><userTask id="receivePayment" name="Receive Payment" /> <sequenceFlow sourceRef="receivePayment" targetRef="join" /><userTask id="shipOrder" name="Ship Order" /> <sequenceFlow sourceRef="shipOrder" targetRef="join" /><parallelGateway id="join" /> <sequenceFlow sourceRef="join" targetRef="archiveOrder" /><userTask id="archiveOrder" name="Archive Order" /> <sequenceFlow sourceRef="archiveOrder" targetRef="theEnd" /><endEvent id="theEnd" />

在上面的例子中,當流程啟動后會創建兩個任務:

ProcessInstance pi = runtimeService.startProcessInstanceByKey("forkJoin"); TaskQuery query = taskService.createTaskQuery().processInstanceId(pi.getId()).orderByTaskName().asc();List<Task> tasks = query.list(); assertEquals(2, tasks.size());Task task1 = tasks.get(0); assertEquals("Receive Payment", task1.getName()); Task task2 = tasks.get(1); assertEquals("Ship Order", task2.getName());

當這兩個任務完成后,第二個并行網關會合并這兩個執行。由于它只有一條出口順序流,因此就不會再創建并行執行路徑,而只是激活Archive Order(存檔訂單)任務。

并行網關不需要“平衡”(也就是說,前后對應的兩個并行網關,其入口/出口順序流的數量不需要一致)。每個并行網關都會簡單地等待所有入口順序流,并為每一條出口順序流創建并行執行,而不受流程模型中的其他結構影響。因此,下面的流程在BPMN 2.0中是合法的:

4.3.3、包容網關

  • 描述:
    可以把包容網關(inclusive gateway)看做排他網關與并行網關的組合。與排他網關一樣,可以在包容網關的出口順序流上定義條件,包容網關會計算條件。然而主要的區別是,包容網關與并行網關一樣,可以同時選擇多于一條出口順序流。

包容網關的功能取決于其入口與出口順序流:

  • 分支:流程會計算所有出口順序流的條件。對于每一條計算為true的順序流,流程都會創建一個并行執行。
  • 合并:所有到達包容網關的并行執行,都會在網關處等待。直到每一條具有流程標志(process token)的入口順序流,都有一個執行到達。這是與并行網關的重要區別。換句話說,包容網關只會等待可以被執行的入口順序流。在合并后,流程穿過合并并行網關繼續。

>>> 如果包容網關同時具有多條入口與出口順序流,可以同時具有分支與合并的行為。在這種情況下,網關首先合并所有具有流程標志的入口順序流,然后為每一個條件計算為true的出口順序流分裂出并行執行路徑。

包容網關的匯聚行為比并行網關更復雜。所有到達包容網關的并行執行,都會在網關等待,直到所有“可以到達”包容網關的執行都“到達”包容網關。 判斷方法為:計算當前流程實例中的所有執行,檢查從其位置是否有一條到達包容網關的路徑(忽略順序流上的任何條件)。如果存在這樣的執行(可到達但尚未到達),則不會觸發包容網關的匯聚行為。

  • xml表示:
    定義包容網關需要一行XML:
<inclusiveGateway id="myInclusiveGateway" />

實際行為(分支,合并或兩者皆有),由連接到該包容網關的順序流定義。

例如,上面的模型表現為下面的XML:

<startEvent id="theStart" /> <sequenceFlow id="flow1" sourceRef="theStart" targetRef="fork" /><inclusiveGateway id="fork" /> <sequenceFlow sourceRef="fork" targetRef="receivePayment" ><conditionExpression xsi:type="tFormalExpression">${paymentReceived == false}</conditionExpression> </sequenceFlow> <sequenceFlow sourceRef="fork" targetRef="shipOrder" ><conditionExpression xsi:type="tFormalExpression">${shipOrder == true}</conditionExpression> </sequenceFlow><userTask id="receivePayment" name="Receive Payment" /> <sequenceFlow sourceRef="receivePayment" targetRef="join" /><userTask id="shipOrder" name="Ship Order" /> <sequenceFlow sourceRef="shipOrder" targetRef="join" /><inclusiveGateway id="join" /> <sequenceFlow sourceRef="join" targetRef="archiveOrder" /><userTask id="archiveOrder" name="Archive Order" /> <sequenceFlow sourceRef="archiveOrder" targetRef="theEnd" /><endEvent id="theEnd" />

在上面的例子中,當流程啟動后,如果流程變量paymentReceived == false且shipOrder == true,會創建兩個任務。如果只有一個流程變量等于true,則只會創建一個任務。如果沒有條件計算為true,會拋出異常(可通過指定默出口順序流避免)。在下面的例子中,只會創建ship order(傳遞訂單)一個任務:

HashMap<String, Object> variableMap = new HashMap<String, Object>(); variableMap.put("receivedPayment", true); variableMap.put("shipOrder", true);ProcessInstance pi = runtimeService.startProcessInstanceByKey("forkJoin");TaskQuery query = taskService.createTaskQuery().processInstanceId(pi.getId()).orderByTaskName().asc();List<Task> tasks = query.list(); assertEquals(1, tasks.size());Task task = tasks.get(0); assertEquals("Ship Order", task.getName());

當這個任務完成后,第二個包容網關會合并這兩個執行。并且由于它只有一條出口順序流,所有不會再創建并行執行路徑,而只會激活Archive Order(存檔訂單)任務。

>>> 包容網關不需要“平衡”(也就是說,對應的包容網關,其入口/出口順序流的數量不需要匹配)。包容網關會簡單地等待所有入口順序流,并為每一條出口順序流創建并行執行,不受流程模型中的其他結構影響。

>>> 包容網關不需要“平衡”(也就是說,前后對應的兩個包容網關,其入口/出口順序流的數量不需要一致)。每個包容網關都會簡單地等待所有入口順序流,并為每一條出口順序流創建并行執行,不受流程模型中的其他結構影響。

?

4.3.4、 基于事件的網關

  • 描述:
    基于事件的網關(event-based gateway)提供了根據事件做選擇的方式。網關的每一條出口順序流都需要連接至一個捕獲中間事件。當流程執行到達基于事件的網關時,與等待狀態類似,網關會暫停執行,并且為每一條出口順序流創建一個事件訂閱。

>>> 基于事件的網關的出口順序流與一般的順序流不同。這些順序流從不實際執行。相反,它們用于告知流程引擎:當執行到達一個基于事件的網關時,需要訂閱什么事件。有以下限制:

  • 一個基于事件的網關,必須有兩條或更多的出口順序流。
  • 基于事件的網關,只能連接至intermediateCatchEvent(捕獲中間事件)類型的元素(Flowable不支持在基于事件的網關之后連接“接收任務 Receive Task”)。
  • 連接至基于事件的網關的intermediateCatchEvent,必須只有一個入口順序流。
  • 圖示:
    基于事件的網關,用內部帶有特殊圖標的網關(菱形)表示。

  • xml表示:
    用于定義基于事件的網關的XML元素為eventBasedGateway。

  • 示例:
    下面是一個帶有基于事件的網關的示例流程。當執行到達基于事件的網關時,流程執行暫停。流程實例訂閱alert信號事件,并創建一個10分鐘后觸發的定時器。流程引擎會等待10分鐘,并同時等待信號事件。如果信號在10分鐘內觸發,則會取消定時器,流程沿著信號繼續執行,激活Handle alert用戶任務。如果10分鐘內沒有觸發信號,則會繼續執行,并取消信號訂閱。

<definitions id="definitions"xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"xmlns:flowable="http://flowable.org/bpmn"targetNamespace="Examples"><signal id="alertSignal" name="alert" /><process id="catchSignal"><startEvent id="start" /><sequenceFlow sourceRef="start" targetRef="gw1" /><eventBasedGateway id="gw1" /><sequenceFlow sourceRef="gw1" targetRef="signalEvent" /><sequenceFlow sourceRef="gw1" targetRef="timerEvent" /><intermediateCatchEvent id="signalEvent" name="Alert"><signalEventDefinition signalRef="alertSignal" /></intermediateCatchEvent><intermediateCatchEvent id="timerEvent" name="Alert"><timerEventDefinition><timeDuration>PT10M</timeDuration></timerEventDefinition></intermediateCatchEvent><sequenceFlow sourceRef="timerEvent" targetRef="exGw1" /><sequenceFlow sourceRef="signalEvent" targetRef="task" /><userTask id="task" name="Handle alert"/><exclusiveGateway id="exGw1" /><sequenceFlow sourceRef="task" targetRef="exGw1" /><sequenceFlow sourceRef="exGw1" targetRef="end" /><endEvent id="end" /></process> </definitions>

?

4.4、任務

一個任務表示工作需要被外部實體完成, 比如人工或自動服務。

任務被描繪成一個圓角矩形,一般內部包含文字。 任務的類型(用戶任務,服務任務,腳本任務,等等)顯示在矩形的左上角,用小圖標區別。 根據任務的類型, 引擎會執行不同的功能。

?

4.4.1、用戶任務

  • 描述:
    “用戶任務(user task)”,也叫人工任務,見名知意,是用于對需要人工執行的任務進行建模。當流程執行到達用戶任務時,會為指派至該任務的用戶或組的任務列表創建一個新任務。

  • 圖示:
    用戶任務用左上角有一個小用戶圖標的標準任務(圓角矩形)表示。

  • xml表示:
    用戶任務在XML中如下定義。其中id是必須屬性,name是可選屬性。

<userTask id="theTask" name="Important task" />

也可以為用戶任務添加描述(description)。事實上任何BPMN 2.0元素都可以有描述。描述由documentation元素定義。

<userTask id="theTask" name="Schedule meeting" ><documentation>Schedule an engineering meeting for next week with the new hire.</documentation>
  • 到期日期
    每個任務都可以使用一個字段標志該任務的到期日期(due date)。可以使用查詢API,查詢在給定日期前或后到期的任務。
    可以在任務定義中使用擴展指定表達式,以在任務創建時設定到期日期。該表達式必須解析為java.util.Date,java.util.String (ISO8601格式),ISO8601時間長度(例如PT50M),或者null。例如,可以使用在流程里前一個表單中輸入的日期,或者由前一個服務任務計算出的日期。如果使用的是時間長度,則到期日期基于當前時間加上給定長度計算。例如當dueDate使用“PT30M”時,任務在從現在起30分鐘后到期。
<userTask id="theTask" name="Important task" flowable:dueDate="${dateVariable}"/>

任務的到期日期也可以使用TaskService,或者在TaskListener中使用傳遞的DelegateTask修改。

  • 用戶指派:
    用戶任務可以直接指派(assign)給用戶。可以定義humanPerformer子元素來實現。humanPerformer需要resourceAssignmentExpression來實際定義用戶。目前,只支持formalExpressions。
<process >...<userTask id='theTask' name='important task' ><humanPerformer><resourceAssignmentExpression><formalExpression>kermit</formalExpression></resourceAssignmentExpression></humanPerformer></userTask>

只能指定一個用戶作為任務的humanPerformer。在Flowable術語中,這個用戶被稱作辦理人(assignee)。擁有辦理人的任務,在其他人的任務列表中不可見,而只能在該辦理人的個人任務列表中看到。

可以通過TaskService獲取特定用戶辦理的任務:

List<Task> tasks = taskService.createTaskQuery().taskAssignee("kermit").list();

任務也可以放在用戶的候選任務列表中。在這個情況下,需要使用potentialOwner(潛在用戶)結構。用法與humanPerformer結構類似。請注意需要指定表達式中的每一個元素為用戶還是組(引擎無法自行判斷)。

<process >...<userTask id='theTask' name='important task' ><potentialOwner><resourceAssignmentExpression><formalExpression>user(kermit), group(management)</formalExpression></resourceAssignmentExpression></potentialOwner></userTask>

可用如下方法獲取定義了potentialOwner結構的任務:

List<Task> tasks = taskService.createTaskQuery().taskCandidateUser("kermit");

將獲取所有kermit作為候選用戶的任務,也就是說,表達式含有user(kermit)的任務。同時也將獲取所有指派給kermit為其成員的組的任務(例如,kermit時management組的成員,且任務指派給management組)。組在運行時解析,并可通過身份服務管理。

如果并未指定給定字符串是用戶還是組,引擎默認其為組。下列代碼與聲明group(accountancy)效果一樣。

<formalExpression>accountancy</formalExpression>
  • 用于任務指派的Flowable擴展
    很明顯,當指派關系不復雜時,這種用戶與組的指派方式十分笨重。為避免這種復雜性,可以在用戶任務上使用自定義擴展。

  • assignee(辦理人)屬性:這個自定義擴展用于直接將用戶指派至用戶任務。
<userTask id="theTask" name="my task" flowable:assignee="kermit" />

與上面定義的humanPerformer結構效果完全相同。

  • candidateUsers(候選用戶)屬性:這個自定義擴展用于為任務指定候選用戶。
<userTask id="theTask" name="my task" flowable:candidateUsers="kermit, gonzo" />

與使用上面定義的potentialOwner結構效果完全相同。請注意不需要像在potentialOwner中一樣,使用user(kermit)的聲明,因為這個屬性只能用于用戶。

  • candidateGroups(候選組)attribute:這個自定義擴展用于為任務指定候選組。
<userTask id="theTask" name="my task" flowable:candidateGroups="management, accountancy" />

與使用上面定義的potentialOwner結構效果完全相同。請注意不需要像在potentialOwner中一樣,使用group(management)的聲明,因為這個屬性只能用于組。

  • 可以定義在一個用戶任務上同時定義candidateUsers與candidateGroups。

?

4.4.2、腳本任務

  • 描述:
    腳本任務(Script Task)是一個自動化任務。當流程到達腳本任務時,自動執行編寫的腳本,完畢后繼續執行后繼路線。

  • 圖示:
    腳本任務用左上角有一個小“腳本”圖標的標準BPMN 2.0任務(圓角矩形)表示。

  • xml表示:
    腳本任務使用script與scriptFormat元素定義。

<scriptTask id="theScriptTask" name="Execute script" scriptFormat="groovy"><script>sum = 0for ( i in inputArray ) {sum += i}</script> </scriptTask>

scriptFormat屬性的值,必須是兼容JSR-223(Java平臺腳本)的名字。默認情況下,JavaScript包含在每一個JDK中,因此不需要添加任何JAR文件。如果想使用其它(兼容JSR-223的)腳本引擎,則需要在classpath中添加相應的jar,并使用適當的名字。例如,Flowable單元測試經常使用Groovy,因為其語法與Java十分相似。

請注意Groovy腳本引擎與groovy-all JAR捆綁在一起。在Groovy 2.0版本以前,腳本引擎是Groovy JAR的一部分。因此,必須添加如下依賴:

<dependency><groupId>org.codehaus.groovy</groupId><artifactId>groovy-all</artifactId><version>2.x.x<version> </dependency>
  • 腳本中的變量:
    到達腳本引擎的執行中,所有的流程變量都可以在腳本中使用。在這個例子里,腳本變量'inputArray'實際上就是一個流程變量(一個integer的數組)。
<script>sum = 0for ( i in inputArray ) {sum += i} </script>

也可以簡單地調用execution.setVariable("variableName", variableValue),在腳本中設置流程變量。默認情況下,變量不會自動儲存(請注意,在一些早期版本中是會儲存的!)。可以將scriptTask的autoStoreVariables參數設置為true,以自動保存任何在腳本中定義的變量(例如上例中的sum)。

<scriptTask id="script" scriptFormat="JavaScript" flowable:autoStoreVariables="false">

這個參數的默認值為false。也就是說如果在腳本任務定義中忽略這個參數,則腳本聲明的所有變量將只在腳本執行期間有效。

在腳本中設置變量的例子:

<script>def scriptVar = "test123"execution.setVariable("myVar", scriptVar) </script>

>>> 下列名字是保留字,不能用于變量名:out,out:print,lang:import,context,elcontext。

  • 腳本任務的結果:
    腳本任務的返回值,可以通過為腳本任務定義的'flowable:resultVariable'屬性設置為流程變量。可以是已經存在的,或者新的流程變量。如果指定為已存在的流程變量,則流程變量的值會被腳本執行的結果值覆蓋。如果不指定結果變量名,則腳本結果值將被忽略。
<scriptTask id="theScriptTask" name="Execute script" scriptFormat="juel" flowable:resultVariable="myVar"><script>#{echo}</script> </scriptTask>

在上面的例子中,腳本執行的結果(解析表達式'#{echo}'的值),將在腳本完成后,設置為名為'myVar'的流程變量。

?

4.4.3、服務任務

服務任務(Service Task)是一個自動化任務。當流程到達系統任務時,它會調用一些服務(例如web service,java service等等),完畢后繼續執行后繼路線。

?

4.4.3.1、Java服務任務

  • 描述:
    Java服務任務(Java service task)用于調用Java類。

  • 圖示:
    服務任務用左上角有一個小齒輪圖標的圓角矩形表示。

  • xml表示:

有四種方法聲明如何調用Java邏輯:

  • 指定實現了JavaDelegate或ActivityBehavior的類
  • 調用解析為委托對象(delegation object)的表達式
  • 調用方法表達式(method expression)
  • 對值表達式(value expression)求值

使用flowable:class屬性提供全限定類名(fully qualified classname),指定流程執行時調用的類。

<serviceTask id="javaService"name="My Java Service Task"flowable:class="org.flowable.MyJavaDelegate" />

也可以使用解析為對象的表達式。該對象必須遵循的規則,與使用flowable:class創建的對象規則相同。

<serviceTask id="serviceTask" flowable:delegateExpression="${delegateExpressionBean}" />

delegateExpressionBean是一個實現了JavaDelegate接口的bean,定義在Spring容器中。

使用flowable:expression屬性指定需要計算的UEL方法表達式。

<serviceTask id="javaService"name="My Java Service Task"flowable:expression="#{printer.printMessage()}" />

將在名為printer的對象上調用printMessage方法(不帶參數)。

也可以為表達式中使用的方法傳遞變量。

<serviceTask id="javaService"name="My Java Service Task"flowable:expression="#{printer.printMessage(execution, myVar)}" />

將在名為printer的對象上調用printMessage方法。傳遞的第一個參數為DelegateExecution,名為execution,在表達式上下文中默認可用。傳遞的第二個參數,是當前執行中,名為myVar變量的值。

可以使用flowable:expression屬性指定需要計算的UEL值表達式。

<serviceTask id="javaService"name="My Java Service Task"flowable:expression="#{split.ready}" />

會調用名為split的bean的ready參數的getter方法,getReady(不帶參數)。該對象會被解析為執行的流程變量或(如果可用的話)Spring上下文中的bean。

  • 實現:

要實現可以在流程執行中調用的類,需要實現org.flowable.engine.delegate.JavaDelegate接口,并在execute方法中提供所需邏輯。當流程執行到達該活動時,會執行方法中定義的邏輯,并按照BPMN 2.0的默認方法離開活動。

下面是一個Java類的示例,用于將流程變量String改為大寫。這個類需要實現org.flowable.engine.delegate.JavaDelegate接口,因此需要實現execute(DelegateExecution)方法。這個方法就是引擎將調用的方法,需要實現業務邏輯。可以通過DelegateExecution接口(點擊鏈接獲取該接口操作的詳細Javadoc)訪問流程實例信息,如流程變量等。

public class ToUppercase implements JavaDelegate {public void execute(DelegateExecution execution) {String var = (String) execution.getVariable("input");var = var.toUpperCase();execution.setVariable("input", var);}}
  • 服務任務的結果:
    服務執行的返回值(僅對使用表達式的服務任務),可以通過為服務任務定義的'flowable:resultVariable'屬性設置為流程變量。可以是已經存在的,或者新的流程變量。 如果指定為已存在的流程變量,則流程變量的值會被服務執行的結果值覆蓋。 如果使用'flowable:useLocalScopeForResultVariable',則會將結果值設置為局部變量。 如果不指定結果變量名,則服務任務的結果值將被忽略。
<serviceTask id="aMethodExpressionServiceTask"flowable:expression="#{myService.doSomething()}"flowable:resultVariable="myVar" />

?

4.4.3.2、Web服務任務

  • 描述:
    Web服務任務(Web service task)用于同步地調用外部的Web服務。

  • 圖示:
    Web服務任務與Java服務任務圖標一樣。

  • xml表示:
    使用Web服務之前,需要導入其操作及復雜的類型。可以使用導入標簽(import tag)指向Web服務的WSDL,自動處理:
<import importType="http://schemas.xmlsoap.org/wsdl/"location="http://localhost:63081/counter?wsdl"namespace="http://webservice.flowable.org/" />

按照上面的聲明,Flowable會導入定義,但不會創建條目定義(item definition)與消息。如果需要調用一個名為’prettyPrint’的方法,則需要先為請求及回復消息創建對應的消息與條目定義:

<message id="prettyPrintCountRequestMessage" itemRef="tns:prettyPrintCountRequestItem" /> <message id="prettyPrintCountResponseMessage" itemRef="tns:prettyPrintCountResponseItem" /><itemDefinition id="prettyPrintCountRequestItem" structureRef="counter:prettyPrintCount" /> <itemDefinition id="prettyPrintCountResponseItem" structureRef="counter:prettyPrintCountResponse" />

在聲明服務任務前,需要定義實際引用Web服務的BPMN接口與操作。基本上,是定義“接口”與所需的“操作”。對每一個操作都可以重復使用之前定義的“傳入”與“傳出”消息。例如,下面的聲明定義了“counter”接口及“prettyPrintCountOperation”操作:

<interface name="Counter Interface" implementationRef="counter:Counter"><operation id="prettyPrintCountOperation" name="prettyPrintCount Operation"implementationRef="counter:prettyPrintCount"><inMessageRef>tns:prettyPrintCountRequestMessage</inMessageRef><outMessageRef>tns:prettyPrintCountResponseMessage</outMessageRef></operation> </interface>

這樣就可以使用##WebService實現,聲明Web服務任務,并引用Web服務操作。

<serviceTask id="webService"name="Web service invocation"implementation="##WebService"operationRef="tns:prettyPrintCountOperation">

參考:

【1】:Flowable BPMN 用戶手冊 (v 6.3.0)
【2】:第 3 章 BPMN 2.0
【3】:BPMN 2.0 / Flowable
【4】:業務流程模型和標記法
【5】:BPMN2.0十分鐘就夠了
【6】:基于BPMN2.0的工作流(Workflow)
【7】:?AWS BPMN2 Event參考指南
【8】:【activiti 入門】activiti6.0的中間事件,包含信號事件(捕獲與拋出)
【9】:AWS BPMN2 Activity參考指南
【10】:AWS BPMN2 Gateway參考指南

總結

以上是生活随笔為你收集整理的Flowable学习笔记(二、BPMN 2.0-基础 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

欧美三级不卡在线观看 | 久久综合久久自在自线精品自 | 高潮毛片无遮挡高清免费视频 | 少妇性荡欲午夜性开放视频剧场 | 性欧美videos高清精品 | 精品国产成人一区二区三区 | 综合网日日天干夜夜久久 | 久久熟妇人妻午夜寂寞影院 | 成人片黄网站色大片免费观看 | 性欧美疯狂xxxxbbbb | 欧美日韩一区二区免费视频 | 无码国产色欲xxxxx视频 | 欧美激情内射喷水高潮 | 一本久道久久综合狠狠爱 | 免费国产成人高清在线观看网站 | 成人无码影片精品久久久 | 中文字幕av伊人av无码av | 亚洲午夜久久久影院 | 正在播放东北夫妻内射 | 亚洲欧美日韩国产精品一区二区 | 中文字幕久久久久人妻 | 国产精品鲁鲁鲁 | 国产欧美精品一区二区三区 | 国产午夜无码视频在线观看 | 久久国产精品_国产精品 | 久青草影院在线观看国产 | 日本乱偷人妻中文字幕 | 无套内谢老熟女 | 无码帝国www无码专区色综合 | 国产高清不卡无码视频 | 欧洲欧美人成视频在线 | 亚洲国产精品无码久久久久高潮 | 国产精品多人p群无码 | 内射白嫩少妇超碰 | 最新国产乱人伦偷精品免费网站 | 亚洲国产午夜精品理论片 | 丝袜足控一区二区三区 | 日韩在线不卡免费视频一区 | 精品国产福利一区二区 | 久久aⅴ免费观看 | 亚洲va欧美va天堂v国产综合 | 日产精品99久久久久久 | 亚洲国产精品一区二区美利坚 | 国产亚洲日韩欧美另类第八页 | 激情综合激情五月俺也去 | 大胆欧美熟妇xx | 精品无码国产自产拍在线观看蜜 | 一本久道久久综合狠狠爱 | 亚洲精品综合五月久久小说 | 中文无码精品a∨在线观看不卡 | 九九热爱视频精品 | 桃花色综合影院 | 中文字幕乱码人妻二区三区 | 丰满人妻翻云覆雨呻吟视频 | 熟女少妇人妻中文字幕 | 国产成人无码区免费内射一片色欲 | 领导边摸边吃奶边做爽在线观看 | 国产国产精品人在线视 | 国产精品免费大片 | aⅴ在线视频男人的天堂 | 亚洲色偷偷男人的天堂 | 在线欧美精品一区二区三区 | 蜜臀av无码人妻精品 | 亚洲国产欧美日韩精品一区二区三区 | 亚洲一区二区观看播放 | 久久久久亚洲精品中文字幕 | 性生交片免费无码看人 | 18精品久久久无码午夜福利 | 国内精品人妻无码久久久影院 | 六十路熟妇乱子伦 | 永久免费观看国产裸体美女 | 日日鲁鲁鲁夜夜爽爽狠狠 | 国产又爽又黄又刺激的视频 | 377p欧洲日本亚洲大胆 | 久久亚洲精品中文字幕无男同 | 国产精品无码一区二区三区不卡 | 中文毛片无遮挡高清免费 | 久久综合激激的五月天 | 搡女人真爽免费视频大全 | 国产真实夫妇视频 | 亚洲精品一区二区三区四区五区 | 亚洲精品国偷拍自产在线麻豆 | 啦啦啦www在线观看免费视频 | 亚洲精品午夜无码电影网 | 亚洲国产成人av在线观看 | 狠狠色噜噜狠狠狠狠7777米奇 | 娇妻被黑人粗大高潮白浆 | 国产超级va在线观看视频 | 99精品国产综合久久久久五月天 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | а√资源新版在线天堂 | 日本乱偷人妻中文字幕 | 久久国产精品萌白酱免费 | 亚洲国产精品美女久久久久 | 永久免费观看美女裸体的网站 | 日韩av无码一区二区三区不卡 | 久久精品中文闷骚内射 | 成年美女黄网站色大免费视频 | 久久亚洲精品成人无码 | 国产女主播喷水视频在线观看 | 美女张开腿让人桶 | 婷婷综合久久中文字幕蜜桃三电影 | 亚洲综合伊人久久大杳蕉 | 亚洲国产欧美在线成人 | 国精产品一品二品国精品69xx | 天天躁日日躁狠狠躁免费麻豆 | 亚洲国产av精品一区二区蜜芽 | 人妻天天爽夜夜爽一区二区 | 精品水蜜桃久久久久久久 | 国产超碰人人爽人人做人人添 | 一本色道久久综合亚洲精品不卡 | 少妇人妻大乳在线视频 | 日本又色又爽又黄的a片18禁 | 亚洲天堂2017无码中文 | 亚洲日韩中文字幕在线播放 | 国产成人无码av片在线观看不卡 | 色综合视频一区二区三区 | 7777奇米四色成人眼影 | 丝袜 中出 制服 人妻 美腿 | 麻豆精产国品 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 国产精品对白交换视频 | 欧美成人免费全部网站 | 乱中年女人伦av三区 | 无码中文字幕色专区 | 国産精品久久久久久久 | 中文字幕无码日韩欧毛 | 又大又紧又粉嫩18p少妇 | 国产suv精品一区二区五 | av无码久久久久不卡免费网站 | 欧美阿v高清资源不卡在线播放 | 国产va免费精品观看 | 狠狠色噜噜狠狠狠7777奇米 | 乱人伦人妻中文字幕无码久久网 | 亚洲自偷精品视频自拍 | 亚洲人成网站在线播放942 | 玩弄人妻少妇500系列视频 | 成人毛片一区二区 | 欧美性生交xxxxx久久久 | 特黄特色大片免费播放器图片 | 久久久久亚洲精品男人的天堂 | 亚洲狠狠婷婷综合久久 | 九九热爱视频精品 | 亚洲精品鲁一鲁一区二区三区 | 日本大香伊一区二区三区 | 欧美 日韩 人妻 高清 中文 | 国产热a欧美热a在线视频 | 亚洲中文字幕无码中文字在线 | 亚洲中文字幕无码一久久区 | 日本丰满熟妇videos | www国产精品内射老师 | 精品水蜜桃久久久久久久 | 老司机亚洲精品影院无码 | 高潮毛片无遮挡高清免费视频 | 蜜桃无码一区二区三区 | 亚洲s色大片在线观看 | 国产精品无码一区二区桃花视频 | 日韩精品无码免费一区二区三区 | 亚洲色www成人永久网址 | 欧美自拍另类欧美综合图片区 | 久久www免费人成人片 | 久久午夜无码鲁丝片秋霞 | 国产精品久久久午夜夜伦鲁鲁 | 久久综合九色综合97网 | 亚洲精品国产精品乱码不卡 | 色噜噜亚洲男人的天堂 | 日本一卡2卡3卡四卡精品网站 | 中文字幕无码日韩专区 | 精品 日韩 国产 欧美 视频 | 精品人妻人人做人人爽 | 亚洲精品久久久久中文第一幕 | 99视频精品全部免费免费观看 | 亚洲国精产品一二二线 | 精品久久久久久人妻无码中文字幕 | 精品人妻人人做人人爽夜夜爽 | 亚洲精品一区二区三区在线 | 国产在线无码精品电影网 | 高潮喷水的毛片 | 东京无码熟妇人妻av在线网址 | 人人妻人人澡人人爽人人精品浪潮 | 成人一区二区免费视频 | 奇米影视7777久久精品人人爽 | 久久精品女人天堂av免费观看 | 初尝人妻少妇中文字幕 | 午夜性刺激在线视频免费 | 精品人人妻人人澡人人爽人人 | 女人色极品影院 | 成人精品视频一区二区三区尤物 | 国产尤物精品视频 | ass日本丰满熟妇pics | 色综合视频一区二区三区 | 图片小说视频一区二区 | 97精品人妻一区二区三区香蕉 | 亚洲 a v无 码免 费 成 人 a v | 国产乱码精品一品二品 | 性色欲网站人妻丰满中文久久不卡 | 国产99久久精品一区二区 | 久久久久人妻一区精品色欧美 | 国产精品国产自线拍免费软件 | 欧洲精品码一区二区三区免费看 | 久久综合狠狠综合久久综合88 | 少妇性荡欲午夜性开放视频剧场 | 无码免费一区二区三区 | 国产亚洲欧美日韩亚洲中文色 | 亚洲一区二区三区 | 美女毛片一区二区三区四区 | 日日摸夜夜摸狠狠摸婷婷 | 欧美野外疯狂做受xxxx高潮 | 又湿又紧又大又爽a视频国产 | 国产亲子乱弄免费视频 | 精品一区二区不卡无码av | 内射巨臀欧美在线视频 | 亚洲阿v天堂在线 | 国内精品九九久久久精品 | 欧美真人作爱免费视频 | 999久久久国产精品消防器材 | 少妇一晚三次一区二区三区 | 精品欧洲av无码一区二区三区 | 免费无码肉片在线观看 | 国产九九九九九九九a片 | 亚洲乱亚洲乱妇50p | 欧美黑人乱大交 | 999久久久国产精品消防器材 | 久9re热视频这里只有精品 | 亚洲午夜久久久影院 | 国产无遮挡又黄又爽免费视频 | 亚洲国产精品一区二区美利坚 | 国产成人亚洲综合无码 | 中文精品无码中文字幕无码专区 | 波多野结衣av在线观看 | 捆绑白丝粉色jk震动捧喷白浆 | 精品人妻av区 | 亚洲欧洲中文日韩av乱码 | 国产办公室秘书无码精品99 | 日韩欧美群交p片內射中文 | 精品人妻av区 | 内射巨臀欧美在线视频 | 夜先锋av资源网站 | 高潮毛片无遮挡高清免费 | 激情内射亚州一区二区三区爱妻 | 精品久久8x国产免费观看 | 久久99精品国产麻豆 | 久久亚洲中文字幕精品一区 | 亚洲欧洲日本无在线码 | 久久午夜无码鲁丝片秋霞 | 色综合久久中文娱乐网 | 美女极度色诱视频国产 | 伊人久久大香线蕉午夜 | 免费无码av一区二区 | 久久亚洲国产成人精品性色 | 色欲综合久久中文字幕网 | 日本一卡2卡3卡四卡精品网站 | 国产人成高清在线视频99最全资源 | 欧美日韩在线亚洲综合国产人 | 亚洲精品久久久久avwww潮水 | 一二三四社区在线中文视频 | 一二三四在线观看免费视频 | 日韩少妇内射免费播放 | 国产又爽又黄又刺激的视频 | 无套内谢的新婚少妇国语播放 | 亚洲成a人片在线观看无码 | 欧美变态另类xxxx | 天堂无码人妻精品一区二区三区 | 老司机亚洲精品影院无码 | 日韩欧美群交p片內射中文 | 美女张开腿让人桶 | 国产xxx69麻豆国语对白 | 精品夜夜澡人妻无码av蜜桃 | 亚洲色欲色欲天天天www | 国产偷国产偷精品高清尤物 | 人妻少妇精品久久 | 日韩人妻无码一区二区三区久久99 | 亚洲欧洲中文日韩av乱码 | 亚洲一区二区三区在线观看网站 | 亚洲精品国产第一综合99久久 | 女人和拘做爰正片视频 | 少妇人妻大乳在线视频 | 亚洲小说春色综合另类 | 在线观看免费人成视频 | 国内少妇偷人精品视频免费 | 又大又紧又粉嫩18p少妇 | 久久精品国产一区二区三区肥胖 | 欧美人与善在线com | 男女作爱免费网站 | 欧美日韩一区二区综合 | 四虎影视成人永久免费观看视频 | 东北女人啪啪对白 | 综合激情五月综合激情五月激情1 | 成人一区二区免费视频 | 成 人 网 站国产免费观看 | 国产69精品久久久久app下载 | 久久国产精品_国产精品 | aa片在线观看视频在线播放 | √天堂资源地址中文在线 | 青草视频在线播放 | 高清不卡一区二区三区 | 国产精品久久国产精品99 | 国产热a欧美热a在线视频 | 国产麻豆精品一区二区三区v视界 | 永久免费精品精品永久-夜色 | 美女张开腿让人桶 | 久久亚洲日韩精品一区二区三区 | 波多野结衣aⅴ在线 | 国产av一区二区三区最新精品 | 日韩精品a片一区二区三区妖精 | 亚洲男人av天堂午夜在 | 免费视频欧美无人区码 | 国产精品对白交换视频 | 欧美兽交xxxx×视频 | 亚洲高清偷拍一区二区三区 | 精品熟女少妇av免费观看 | 国产精品久久福利网站 | 欧美性生交xxxxx久久久 | 人人妻人人澡人人爽人人精品浪潮 | 偷窥日本少妇撒尿chinese | 熟妇人妻无乱码中文字幕 | 亚洲伊人久久精品影院 | 亚洲小说图区综合在线 | 国产成人亚洲综合无码 | 无码人妻精品一区二区三区下载 | 国产精品18久久久久久麻辣 | 欧美性猛交内射兽交老熟妇 | 麻豆蜜桃av蜜臀av色欲av | 亚洲精品综合一区二区三区在线 | 丝袜 中出 制服 人妻 美腿 | 熟女俱乐部五十路六十路av | 小泽玛莉亚一区二区视频在线 | 欧美 丝袜 自拍 制服 另类 | 国产成人精品无码播放 | 女人高潮内射99精品 | 国产手机在线αⅴ片无码观看 | 狂野欧美激情性xxxx | 国产特级毛片aaaaaaa高清 | 综合网日日天干夜夜久久 | 在教室伦流澡到高潮hnp视频 | 亚洲精品国产a久久久久久 | 日日麻批免费40分钟无码 | 永久免费精品精品永久-夜色 | 国产精品第一区揄拍无码 | 国产在线精品一区二区三区直播 | 好爽又高潮了毛片免费下载 | 亚洲精品午夜国产va久久成人 | 国产区女主播在线观看 | 美女毛片一区二区三区四区 | 麻豆国产人妻欲求不满谁演的 | 亚洲日本一区二区三区在线 | 高清无码午夜福利视频 | 十八禁视频网站在线观看 | 久久五月精品中文字幕 | 中文字幕乱码中文乱码51精品 | 欧美日本精品一区二区三区 | 中文精品无码中文字幕无码专区 | 亚洲 激情 小说 另类 欧美 | 内射巨臀欧美在线视频 | 精品成在人线av无码免费看 | 国产av久久久久精东av | 亚洲爆乳无码专区 | av在线亚洲欧洲日产一区二区 | 玩弄人妻少妇500系列视频 | 国产成人无码av一区二区 | 欧美丰满熟妇xxxx性ppx人交 | 亚洲国产精华液网站w | 欧美日本精品一区二区三区 | 真人与拘做受免费视频一 | 性啪啪chinese东北女人 | 国产亚洲精品久久久久久久久动漫 | 巨爆乳无码视频在线观看 | 国产亚洲精品精品国产亚洲综合 | 中文字幕色婷婷在线视频 | 鲁鲁鲁爽爽爽在线视频观看 | 无码播放一区二区三区 | 美女毛片一区二区三区四区 | 精品乱子伦一区二区三区 | 国产香蕉97碰碰久久人人 | 人人爽人人澡人人高潮 | 亚洲欧美精品aaaaaa片 | 精品国产福利一区二区 | 中文无码精品a∨在线观看不卡 | 狂野欧美性猛交免费视频 | 国产精品99爱免费视频 | 人妻互换免费中文字幕 | 国精产品一品二品国精品69xx | 国产香蕉尹人视频在线 | 亚洲国产高清在线观看视频 | 无码帝国www无码专区色综合 | 草草网站影院白丝内射 | a国产一区二区免费入口 | 国产办公室秘书无码精品99 | 亚洲综合无码一区二区三区 | 性生交片免费无码看人 | 久久99精品久久久久久动态图 | 国产成人一区二区三区别 | 国产成人人人97超碰超爽8 | 丁香啪啪综合成人亚洲 | 欧美激情综合亚洲一二区 | 日欧一片内射va在线影院 | 免费无码肉片在线观看 | 欧美黑人巨大xxxxx | 高清国产亚洲精品自在久久 | 国产成人综合在线女婷五月99播放 | 亚洲娇小与黑人巨大交 | 久久久久亚洲精品男人的天堂 | 国产一区二区不卡老阿姨 | 亚洲欧美色中文字幕在线 | 国产情侣作爱视频免费观看 | 国产内射老熟女aaaa | 国产 浪潮av性色四虎 | 国产av久久久久精东av | 成人无码精品1区2区3区免费看 | 西西人体www44rt大胆高清 | 久久国产劲爆∧v内射 | 特大黑人娇小亚洲女 | 国产精品自产拍在线观看 | 成年美女黄网站色大免费全看 | 久久 国产 尿 小便 嘘嘘 | 131美女爱做视频 | 欧美老熟妇乱xxxxx | 中文字幕无码av波多野吉衣 | 妺妺窝人体色www在线小说 | 成人片黄网站色大片免费观看 | av无码久久久久不卡免费网站 | 国产又爽又猛又粗的视频a片 | 无码av中文字幕免费放 | 日韩人妻少妇一区二区三区 | 久久99国产综合精品 | 亚洲人成网站色7799 | 在线观看国产午夜福利片 | 蜜桃无码一区二区三区 | 日韩人妻少妇一区二区三区 | 麻豆成人精品国产免费 | 亚洲成av人综合在线观看 | 亚洲狠狠色丁香婷婷综合 | 久久久久久av无码免费看大片 | 国产精品第一区揄拍无码 | 国产办公室秘书无码精品99 | 熟妇女人妻丰满少妇中文字幕 | 精品亚洲成av人在线观看 | 中文字幕乱码人妻二区三区 | 国产精品久久久久影院嫩草 | 亚洲一区二区观看播放 | 最近免费中文字幕中文高清百度 | 亚洲国产精华液网站w | 国产欧美熟妇另类久久久 | 内射白嫩少妇超碰 | 给我免费的视频在线观看 | 国产精品久久久久久亚洲毛片 | 特大黑人娇小亚洲女 | 国产熟女一区二区三区四区五区 | av无码电影一区二区三区 | 国产精品国产自线拍免费软件 | 精品久久久久久亚洲精品 | 美女毛片一区二区三区四区 | 成人动漫在线观看 | 一本久道高清无码视频 | 成人毛片一区二区 | 成人精品视频一区二区 | 中文字幕无码热在线视频 | 亚洲精品国产a久久久久久 | √8天堂资源地址中文在线 | 88国产精品欧美一区二区三区 | 久久久久久av无码免费看大片 | 波多野结衣 黑人 | 1000部夫妻午夜免费 | 鲁一鲁av2019在线 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 大胆欧美熟妇xx | 性色欲网站人妻丰满中文久久不卡 | 免费看少妇作爱视频 | 亚洲综合在线一区二区三区 | 秋霞成人午夜鲁丝一区二区三区 | 任你躁国产自任一区二区三区 | 欧美兽交xxxx×视频 | 欧美午夜特黄aaaaaa片 | 亚洲精品综合一区二区三区在线 | 中文字幕乱码人妻二区三区 | 国产三级久久久精品麻豆三级 | 日韩视频 中文字幕 视频一区 | 国产精品美女久久久 | 激情爆乳一区二区三区 | 中国女人内谢69xxxxxa片 | 宝宝好涨水快流出来免费视频 | 国产在线aaa片一区二区99 | 领导边摸边吃奶边做爽在线观看 | 亚洲熟妇自偷自拍另类 | 国产精品99爱免费视频 | 久久综合激激的五月天 | 亚洲精品一区国产 | 高中生自慰www网站 | 精品欧美一区二区三区久久久 | 国产内射爽爽大片视频社区在线 | 国产精品99久久精品爆乳 | а√资源新版在线天堂 | 国产一区二区不卡老阿姨 | 午夜福利试看120秒体验区 | 超碰97人人做人人爱少妇 | 国产精品-区区久久久狼 | 97久久精品无码一区二区 | 5858s亚洲色大成网站www | 国产午夜亚洲精品不卡下载 | 中文字幕无码av激情不卡 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 丰满人妻一区二区三区免费视频 | 国产舌乚八伦偷品w中 | 国产午夜手机精彩视频 | 国产后入清纯学生妹 | 亚洲国产日韩a在线播放 | 67194成是人免费无码 | 国产精品igao视频网 | 大乳丰满人妻中文字幕日本 | 欧美国产日产一区二区 | aⅴ在线视频男人的天堂 | 久久精品99久久香蕉国产色戒 | 永久免费观看美女裸体的网站 | 色老头在线一区二区三区 | 国产午夜福利亚洲第一 | 成在人线av无码免观看麻豆 | 无码国内精品人妻少妇 | 国产午夜精品一区二区三区嫩草 | 天堂无码人妻精品一区二区三区 | 大肉大捧一进一出视频出来呀 | 女人被爽到呻吟gif动态图视看 | 国产在线一区二区三区四区五区 | 伊人久久婷婷五月综合97色 | 国产疯狂伦交大片 | 天天躁夜夜躁狠狠是什么心态 | 国产人妻大战黑人第1集 | 中文字幕乱码人妻无码久久 | 国产成人一区二区三区别 | 国产高清av在线播放 | 精品国偷自产在线视频 | 乱码午夜-极国产极内射 | 大乳丰满人妻中文字幕日本 | 久久久亚洲欧洲日产国码αv | 亚洲性无码av中文字幕 | 久久综合九色综合97网 | 国产精品18久久久久久麻辣 | 好男人社区资源 | 亚洲中文字幕乱码av波多ji | 久久无码中文字幕免费影院蜜桃 | 国产成人无码a区在线观看视频app | 99精品无人区乱码1区2区3区 | 日韩亚洲欧美中文高清在线 | 亚洲伊人久久精品影院 | 国产成人亚洲综合无码 | 两性色午夜免费视频 | 乱人伦人妻中文字幕无码 | 国产内射老熟女aaaa | 性欧美牲交在线视频 | 99久久精品日本一区二区免费 | 亚洲成熟女人毛毛耸耸多 | 内射老妇bbwx0c0ck | 成人一在线视频日韩国产 | 狂野欧美性猛xxxx乱大交 | 永久免费观看国产裸体美女 | 久久久久99精品成人片 | 中文字幕乱码人妻无码久久 | 黑人巨大精品欧美黑寡妇 | 成人女人看片免费视频放人 | 麻豆av传媒蜜桃天美传媒 | 扒开双腿疯狂进出爽爽爽视频 | 国产乱人伦偷精品视频 | 水蜜桃亚洲一二三四在线 | 3d动漫精品啪啪一区二区中 | 亚洲精品综合五月久久小说 | 97色伦图片97综合影院 | 最新国产乱人伦偷精品免费网站 | 亚洲精品无码人妻无码 | 日本肉体xxxx裸交 | 精品 日韩 国产 欧美 视频 | 久青草影院在线观看国产 | 中国女人内谢69xxxx | 午夜福利不卡在线视频 | 少女韩国电视剧在线观看完整 | 人妻少妇精品无码专区动漫 | 国产在线无码精品电影网 | 国产精品.xx视频.xxtv | 人人妻人人澡人人爽人人精品浪潮 | 精品国产精品久久一区免费式 | 成人精品一区二区三区中文字幕 | 日本欧美一区二区三区乱码 | 曰韩少妇内射免费播放 | 国产sm调教视频在线观看 | 无码中文字幕色专区 | 啦啦啦www在线观看免费视频 | 精品成人av一区二区三区 | 精品国产成人一区二区三区 | 99久久久无码国产aaa精品 | 亚洲熟妇色xxxxx欧美老妇 | 日韩无套无码精品 | 日韩人妻无码一区二区三区久久99 | 亚洲成av人影院在线观看 | 亚洲人成人无码网www国产 | www一区二区www免费 | 国产乡下妇女做爰 | 日产国产精品亚洲系列 | 国产香蕉尹人视频在线 | 中文字幕日韩精品一区二区三区 | 久久久精品成人免费观看 | 装睡被陌生人摸出水好爽 | 国产成人精品必看 | 日日天日日夜日日摸 | 亚洲天堂2017无码中文 | 国产内射爽爽大片视频社区在线 | 日本一区二区更新不卡 | 综合网日日天干夜夜久久 | 亚洲欧美国产精品久久 | 婷婷丁香五月天综合东京热 | 久久久久99精品国产片 | 国产农村乱对白刺激视频 | 亚洲无人区午夜福利码高清完整版 | 精品厕所偷拍各类美女tp嘘嘘 | 久久久久se色偷偷亚洲精品av | 欧美日韩久久久精品a片 | 粉嫩少妇内射浓精videos | 中文字幕人妻无码一区二区三区 | 久久国产精品精品国产色婷婷 | 国产精品亚洲lv粉色 | 精品一二三区久久aaa片 | 俺去俺来也www色官网 | 久久婷婷五月综合色国产香蕉 | 久久国语露脸国产精品电影 | 午夜男女很黄的视频 | 亚洲国产欧美在线成人 | 人妻少妇被猛烈进入中文字幕 | 亚洲国产精品久久人人爱 | 欧美色就是色 | 乱码av麻豆丝袜熟女系列 | 欧美人与禽猛交狂配 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 国产九九九九九九九a片 | 人人超人人超碰超国产 | 亚洲欧美精品aaaaaa片 | 亚洲日韩av一区二区三区四区 | 无码播放一区二区三区 | 熟妇人妻无码xxx视频 | 亚洲中文字幕无码中字 | 人人妻人人澡人人爽欧美一区 | 四十如虎的丰满熟妇啪啪 | 中文字幕无码日韩专区 | 国产精品久久久久久久影院 | 乌克兰少妇性做爰 | 国产激情无码一区二区app | 夜夜高潮次次欢爽av女 | 亚洲七七久久桃花影院 | 又大又紧又粉嫩18p少妇 | 色偷偷人人澡人人爽人人模 | 亚洲精品一区二区三区婷婷月 | 1000部啪啪未满十八勿入下载 | v一区无码内射国产 | 欧美35页视频在线观看 | 精品午夜福利在线观看 | 国产做国产爱免费视频 | 夜夜夜高潮夜夜爽夜夜爰爰 | 亚洲 日韩 欧美 成人 在线观看 | 久久五月精品中文字幕 | 日日摸日日碰夜夜爽av | 麻花豆传媒剧国产免费mv在线 | 国产深夜福利视频在线 | 精品久久久无码中文字幕 | 一本色道婷婷久久欧美 | 永久黄网站色视频免费直播 | 亚洲国产一区二区三区在线观看 | 亚洲人成网站在线播放942 | 黑人玩弄人妻中文在线 | 久久久精品国产sm最大网站 | 精品欧美一区二区三区久久久 | 樱花草在线社区www | 日韩精品a片一区二区三区妖精 | 十八禁真人啪啪免费网站 | 久久综合激激的五月天 | 日韩精品无码一区二区中文字幕 | 中文字幕乱妇无码av在线 | 窝窝午夜理论片影院 | 红桃av一区二区三区在线无码av | 樱花草在线社区www | 日本高清一区免费中文视频 | 亚洲精品国产a久久久久久 | 欧美丰满少妇xxxx性 | аⅴ资源天堂资源库在线 | 久久精品国产99精品亚洲 | 99国产精品白浆在线观看免费 | 一本大道久久东京热无码av | 亚洲色欲久久久综合网东京热 | 最近中文2019字幕第二页 | 55夜色66夜色国产精品视频 | 久久久精品欧美一区二区免费 | 国产suv精品一区二区五 | 东京热男人av天堂 | 亚洲午夜福利在线观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 人妻中文无码久热丝袜 | 狠狠色噜噜狠狠狠狠7777米奇 | 亚洲精品久久久久久久久久久 | 国产麻豆精品精东影业av网站 | 国产成人精品一区二区在线小狼 | 亚洲精品中文字幕 | 无码av岛国片在线播放 | 人人妻在人人 | 一个人免费观看的www视频 | 午夜无码人妻av大片色欲 | 麻豆果冻传媒2021精品传媒一区下载 | 麻豆国产人妻欲求不满 | 国产精品怡红院永久免费 | 又色又爽又黄的美女裸体网站 | 荫蒂被男人添的好舒服爽免费视频 | 无码播放一区二区三区 | 99久久精品无码一区二区毛片 | 免费人成网站视频在线观看 | 日本丰满护士爆乳xxxx | 全黄性性激高免费视频 | 亚洲中文字幕无码中字 | 亚洲va中文字幕无码久久不卡 | 国产情侣作爱视频免费观看 | 亚洲精品一区三区三区在线观看 | 在线播放免费人成毛片乱码 | 无码国产激情在线观看 | 亚洲欧洲日本无在线码 | 亚洲精品成人福利网站 | 亚洲a无码综合a国产av中文 | 久久无码专区国产精品s | 男人和女人高潮免费网站 | 99久久婷婷国产综合精品青草免费 | 综合网日日天干夜夜久久 | 亚洲中文字幕在线无码一区二区 | 蜜臀av在线播放 久久综合激激的五月天 | 强开小婷嫩苞又嫩又紧视频 | 日本护士xxxxhd少妇 | 在线亚洲高清揄拍自拍一品区 | 窝窝午夜理论片影院 | 国产午夜无码视频在线观看 | 亚洲爆乳精品无码一区二区三区 | 国产成人精品必看 | 99久久人妻精品免费二区 | 国产 浪潮av性色四虎 | 色综合久久久久综合一本到桃花网 | 成 人 网 站国产免费观看 | 在线亚洲高清揄拍自拍一品区 | 无码人妻av免费一区二区三区 | 欧美日韩视频无码一区二区三 | 一个人看的www免费视频在线观看 | 亚拍精品一区二区三区探花 | 中文精品无码中文字幕无码专区 | 国产精品资源一区二区 | 无码人妻丰满熟妇区毛片18 | 97精品国产97久久久久久免费 | 久久精品中文闷骚内射 | 成人免费视频视频在线观看 免费 | 成熟女人特级毛片www免费 | 欧美老熟妇乱xxxxx | 少妇一晚三次一区二区三区 | 色一情一乱一伦一视频免费看 | 无码人妻出轨黑人中文字幕 | 无码精品国产va在线观看dvd | 鲁大师影院在线观看 | 国产av无码专区亚洲a∨毛片 | 国产精品igao视频网 | 日日摸日日碰夜夜爽av | 99久久精品午夜一区二区 | 国产情侣作爱视频免费观看 | 内射欧美老妇wbb | 2020最新国产自产精品 | 久久人人97超碰a片精品 | 久久久久亚洲精品男人的天堂 | 国产亚洲欧美日韩亚洲中文色 | 牲欲强的熟妇农村老妇女 | 日本一本二本三区免费 | 狠狠色欧美亚洲狠狠色www | av无码电影一区二区三区 | 97久久精品无码一区二区 | 久久精品国产一区二区三区肥胖 | 亚洲欧美综合区丁香五月小说 | 露脸叫床粗话东北少妇 | 娇妻被黑人粗大高潮白浆 | 久久99精品国产麻豆蜜芽 | 白嫩日本少妇做爰 | 蜜桃av抽搐高潮一区二区 | 亚洲欧美精品伊人久久 | 午夜福利不卡在线视频 | 久久久国产精品无码免费专区 | 色婷婷久久一区二区三区麻豆 | 国产亚洲视频中文字幕97精品 | 精品国产一区二区三区四区 | 一本久久a久久精品vr综合 | 奇米影视7777久久精品人人爽 | 精品无人区无码乱码毛片国产 | 好爽又高潮了毛片免费下载 | 无码人妻精品一区二区三区不卡 | 国内老熟妇对白xxxxhd | 人妻中文无码久热丝袜 | 久久亚洲精品中文字幕无男同 | 少妇性俱乐部纵欲狂欢电影 | 中文精品无码中文字幕无码专区 | 东京热无码av男人的天堂 | 国产av无码专区亚洲awww | 亚洲の无码国产の无码影院 | 精品久久久中文字幕人妻 | 亚洲狠狠色丁香婷婷综合 | 激情亚洲一区国产精品 | 成人免费视频视频在线观看 免费 | 精品国产乱码久久久久乱码 | 性色欲情网站iwww九文堂 | 午夜福利试看120秒体验区 | 国产国产精品人在线视 | 学生妹亚洲一区二区 | 久久精品国产日本波多野结衣 | 久久熟妇人妻午夜寂寞影院 | 一个人看的www免费视频在线观看 | 亚洲а∨天堂久久精品2021 | 东京无码熟妇人妻av在线网址 | 精品国产av色一区二区深夜久久 | 狂野欧美性猛交免费视频 | 国产综合色产在线精品 | 蜜桃臀无码内射一区二区三区 | 色综合久久中文娱乐网 | 天堂一区人妻无码 | 美女扒开屁股让男人桶 | 撕开奶罩揉吮奶头视频 | 国内揄拍国内精品少妇国语 | 国产成人综合在线女婷五月99播放 | 亚洲阿v天堂在线 | 日产国产精品亚洲系列 | 男人的天堂av网站 | 麻豆国产丝袜白领秘书在线观看 | 久久久久av无码免费网 | 亚洲色大成网站www | 88国产精品欧美一区二区三区 | 免费人成网站视频在线观看 | 亚洲色大成网站www | 高中生自慰www网站 | 偷窥村妇洗澡毛毛多 | 亚洲一区二区三区香蕉 | 又湿又紧又大又爽a视频国产 | а√资源新版在线天堂 | 久热国产vs视频在线观看 | 国产亚洲人成a在线v网站 | 国产午夜福利亚洲第一 | 丰满少妇弄高潮了www | 国产莉萝无码av在线播放 | 久久亚洲精品成人无码 | 国产办公室秘书无码精品99 | 国内精品人妻无码久久久影院 | 亚洲一区二区三区在线观看网站 | 女人高潮内射99精品 | 久热国产vs视频在线观看 | 国产午夜亚洲精品不卡下载 | 人妻少妇被猛烈进入中文字幕 | 午夜成人1000部免费视频 | 久久久久99精品成人片 | 88国产精品欧美一区二区三区 | 伦伦影院午夜理论片 | 67194成是人免费无码 | 国产精品美女久久久 | 久久亚洲国产成人精品性色 | 成在人线av无码免观看麻豆 | 中文字幕乱妇无码av在线 | www一区二区www免费 | 成人免费视频视频在线观看 免费 | 妺妺窝人体色www在线小说 | 日日麻批免费40分钟无码 | 成人一区二区免费视频 | 人人妻人人澡人人爽人人精品浪潮 | 国产精品va在线观看无码 | √天堂资源地址中文在线 | 少妇性l交大片 | 中文久久乱码一区二区 | 5858s亚洲色大成网站www | 曰韩少妇内射免费播放 | 亚洲人交乣女bbw | 国产精品第一区揄拍无码 | 国产精品久久久久久久9999 | 丰满人妻被黑人猛烈进入 | 亚洲成av人片在线观看无码不卡 | 88国产精品欧美一区二区三区 | 成人免费视频在线观看 | 欧美性猛交xxxx富婆 | 精品久久久无码人妻字幂 | 免费观看激色视频网站 | 一二三四在线观看免费视频 | 在教室伦流澡到高潮hnp视频 | 午夜福利一区二区三区在线观看 | 超碰97人人射妻 | 久久久婷婷五月亚洲97号色 | 国产亚洲精品久久久久久国模美 | 内射巨臀欧美在线视频 | 日本乱偷人妻中文字幕 | 亚洲中文无码av永久不收费 | 亚洲精品一区二区三区在线观看 | 午夜精品久久久内射近拍高清 | 亚洲精品久久久久久久久久久 | 国产av一区二区三区最新精品 | 麻豆国产丝袜白领秘书在线观看 | 97色伦图片97综合影院 | 少妇被粗大的猛进出69影院 | 97精品人妻一区二区三区香蕉 | 正在播放东北夫妻内射 | 中文字幕人妻丝袜二区 | 欧美 日韩 人妻 高清 中文 | 无码播放一区二区三区 | 激情五月综合色婷婷一区二区 | 精品国产av色一区二区深夜久久 | 人人澡人人透人人爽 | 国产成人午夜福利在线播放 | 无码人妻久久一区二区三区不卡 | 午夜理论片yy44880影院 | 亚洲狠狠色丁香婷婷综合 | 国产亚洲日韩欧美另类第八页 | 国产精品美女久久久久av爽李琼 | 亚洲一区二区三区偷拍女厕 | 国产69精品久久久久app下载 | 久久天天躁夜夜躁狠狠 | 亚洲成a人片在线观看日本 | 亚洲精品中文字幕乱码 | 狠狠色噜噜狠狠狠7777奇米 | 精品亚洲韩国一区二区三区 | 99久久久无码国产精品免费 | 狂野欧美激情性xxxx | 亚洲成a人片在线观看无码3d | 久久久久久国产精品无码下载 | 男人和女人高潮免费网站 | 久久国产精品萌白酱免费 | 中文字幕av日韩精品一区二区 | 少妇高潮喷潮久久久影院 | 亚洲国产精品无码一区二区三区 | 日本精品久久久久中文字幕 | 亚洲综合伊人久久大杳蕉 | 青草视频在线播放 | 日本熟妇乱子伦xxxx | 国产av一区二区精品久久凹凸 | 97人妻精品一区二区三区 | 小sao货水好多真紧h无码视频 | 精品国产一区二区三区四区 | 精品国产一区二区三区av 性色 | 中文精品无码中文字幕无码专区 | 黑人巨大精品欧美黑寡妇 | 欧美丰满老熟妇xxxxx性 | 午夜福利不卡在线视频 | 天天拍夜夜添久久精品 | 国产免费观看黄av片 | 欧美丰满少妇xxxx性 | av无码不卡在线观看免费 | 疯狂三人交性欧美 | 亚洲呦女专区 | 欧美丰满少妇xxxx性 | 奇米影视7777久久精品人人爽 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 波多野42部无码喷潮在线 | 牲欲强的熟妇农村老妇女 | 精品国产麻豆免费人成网站 | 97se亚洲精品一区 | 久久综合网欧美色妞网 | 久久久久久a亚洲欧洲av冫 | 国产 浪潮av性色四虎 | 中文字幕无码人妻少妇免费 | 国产亚洲tv在线观看 | 性欧美videos高清精品 | 麻豆国产人妻欲求不满谁演的 | 男女猛烈xx00免费视频试看 | 国产精品久久久久久亚洲影视内衣 | 国产小呦泬泬99精品 | 亚洲人亚洲人成电影网站色 | 国产精品久久久久久久影院 | 成人欧美一区二区三区黑人免费 | 国内精品人妻无码久久久影院 | 国产人成高清在线视频99最全资源 | 欧美大屁股xxxxhd黑色 | 亚洲中文字幕久久无码 | 久久久久99精品国产片 | 亚洲a无码综合a国产av中文 | 女人被男人爽到呻吟的视频 | 永久黄网站色视频免费直播 | 国产麻豆精品精东影业av网站 | 久久99国产综合精品 | 精品久久久无码中文字幕 | 无码任你躁久久久久久久 | 久久精品无码一区二区三区 | 无码人妻黑人中文字幕 | 男女猛烈xx00免费视频试看 | 狠狠色噜噜狠狠狠狠7777米奇 | 久青草影院在线观看国产 | 国产人妻精品一区二区三区 | 久久久久久a亚洲欧洲av冫 | 人妻少妇被猛烈进入中文字幕 | 国产午夜精品一区二区三区嫩草 | 亚洲国产精品久久久天堂 | 国产成人无码午夜视频在线观看 | 色婷婷av一区二区三区之红樱桃 | 四虎永久在线精品免费网址 | 人妻无码αv中文字幕久久琪琪布 | 成人欧美一区二区三区 | 99麻豆久久久国产精品免费 | 国产黄在线观看免费观看不卡 | 97人妻精品一区二区三区 | 国内丰满熟女出轨videos | 国产精品亚洲专区无码不卡 | 精品国产一区二区三区av 性色 | 欧美人与禽猛交狂配 | 亚洲成av人片天堂网无码】 | 免费无码午夜福利片69 | 久久婷婷五月综合色国产香蕉 | 国产乱人伦av在线无码 | 中文字幕无码日韩欧毛 | 日韩精品无码免费一区二区三区 | 国产精品美女久久久网av | 图片区 小说区 区 亚洲五月 | 亚洲熟妇色xxxxx欧美老妇y | 巨爆乳无码视频在线观看 | 国产精品第一区揄拍无码 | 一区二区传媒有限公司 | 国产9 9在线 | 中文 | 国产激情艳情在线看视频 | 伊人久久婷婷五月综合97色 | 97夜夜澡人人爽人人喊中国片 | 少妇性俱乐部纵欲狂欢电影 | 黑人粗大猛烈进出高潮视频 | 日本免费一区二区三区最新 | 久久久久亚洲精品中文字幕 | 日韩精品无码一本二本三本色 | 亚洲欧美精品aaaaaa片 | 欧美三级a做爰在线观看 | 亚洲成色www久久网站 | 内射爽无广熟女亚洲 | 欧美成人家庭影院 | 亚洲另类伦春色综合小说 | 亚洲人交乣女bbw | 成人亚洲精品久久久久 | 国产av一区二区精品久久凹凸 | 日韩欧美中文字幕公布 | 亚洲阿v天堂在线 | 国产精品久久久 | 熟妇人妻中文av无码 | 麻豆果冻传媒2021精品传媒一区下载 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 国内综合精品午夜久久资源 | 中文字幕无码av波多野吉衣 | 麻豆国产人妻欲求不满谁演的 | 成熟人妻av无码专区 | 久久国语露脸国产精品电影 | 国产成人综合色在线观看网站 | 国产熟妇高潮叫床视频播放 | 久久精品人人做人人综合试看 | 日日碰狠狠丁香久燥 | 国产精品第一区揄拍无码 | 一区二区传媒有限公司 | 中文字幕无码av激情不卡 | 欧美老熟妇乱xxxxx | 97久久精品无码一区二区 | 少妇高潮一区二区三区99 | 国产极品美女高潮无套在线观看 | 日韩精品无码免费一区二区三区 | aa片在线观看视频在线播放 | 欧美丰满少妇xxxx性 | 亚洲中文字幕无码中字 | 日韩av无码一区二区三区不卡 | 亚洲人成影院在线无码按摩店 | 午夜精品一区二区三区在线观看 | 国产精品爱久久久久久久 | 亚洲午夜久久久影院 | 久久久久国色av免费观看性色 | 精品国产乱码久久久久乱码 | 久久无码中文字幕免费影院蜜桃 | 中文字幕乱码人妻无码久久 | 亚洲国产精华液网站w | 成年美女黄网站色大免费全看 | 天天拍夜夜添久久精品 | 亚洲啪av永久无码精品放毛片 | 色婷婷欧美在线播放内射 | 日日摸日日碰夜夜爽av | 女人色极品影院 | 给我免费的视频在线观看 | 国产又粗又硬又大爽黄老大爷视 | 伊人久久大香线焦av综合影院 | 国产精品久久久 | 久久无码专区国产精品s | 老头边吃奶边弄进去呻吟 | 女人被爽到呻吟gif动态图视看 | 欧美人与禽猛交狂配 | 欧美日韩一区二区三区自拍 | 国产精品办公室沙发 | 性欧美熟妇videofreesex | 欧美日本精品一区二区三区 | 亚洲小说图区综合在线 | 水蜜桃亚洲一二三四在线 | 日本乱偷人妻中文字幕 | 久久99精品国产麻豆 | 老子影院午夜伦不卡 | 亚洲天堂2017无码中文 | 精品无码一区二区三区的天堂 | 亚洲中文字幕在线观看 | 内射巨臀欧美在线视频 | 国产舌乚八伦偷品w中 | 欧美性生交活xxxxxdddd | 国产香蕉尹人视频在线 | 亚洲精品无码人妻无码 | 日韩精品一区二区av在线 | 图片区 小说区 区 亚洲五月 | 日韩视频 中文字幕 视频一区 | 久久久久久亚洲精品a片成人 | 人妻有码中文字幕在线 | 国产熟妇另类久久久久 | 欧美日本日韩 | 成人欧美一区二区三区黑人 | 精品少妇爆乳无码av无码专区 | 午夜精品一区二区三区的区别 | 国产人妻人伦精品1国产丝袜 | 国产av人人夜夜澡人人爽麻豆 | 日本丰满护士爆乳xxxx | 日本爽爽爽爽爽爽在线观看免 | 最近的中文字幕在线看视频 | 国内精品九九久久久精品 | 国内少妇偷人精品视频 | 两性色午夜视频免费播放 | 国产乱子伦视频在线播放 | 人妻少妇被猛烈进入中文字幕 | 无码国产激情在线观看 | 精品国偷自产在线视频 | 伊人久久大香线蕉午夜 | 日本欧美一区二区三区乱码 | 18禁黄网站男男禁片免费观看 | 男女超爽视频免费播放 | 日韩精品无码一本二本三本色 | 国产精品成人av在线观看 | 日日鲁鲁鲁夜夜爽爽狠狠 | 性欧美牲交xxxxx视频 | 无码人妻av免费一区二区三区 | 午夜不卡av免费 一本久久a久久精品vr综合 | 丰满人妻被黑人猛烈进入 | 中文字幕亚洲情99在线 | 国产人妻精品一区二区三区 | 国产在线aaa片一区二区99 | 日韩精品成人一区二区三区 | 成人欧美一区二区三区黑人 | 国产精品福利视频导航 | 日本精品少妇一区二区三区 | 日韩 欧美 动漫 国产 制服 | 无码成人精品区在线观看 | 日韩 欧美 动漫 国产 制服 | 国产熟妇另类久久久久 | 老头边吃奶边弄进去呻吟 | 麻豆国产97在线 | 欧洲 | 国产人妖乱国产精品人妖 | 亚洲熟妇自偷自拍另类 | 丁香花在线影院观看在线播放 | 欧美老熟妇乱xxxxx | 性欧美熟妇videofreesex | 天天综合网天天综合色 | 久久综合色之久久综合 | 一本久久a久久精品vr综合 | 日本大乳高潮视频在线观看 | 成 人影片 免费观看 | 国产成人人人97超碰超爽8 | 精品无码一区二区三区爱欲 | 国产激情艳情在线看视频 | 樱花草在线播放免费中文 | 99久久婷婷国产综合精品青草免费 | 国产成人精品视频ⅴa片软件竹菊 | 日本xxxx色视频在线观看免费 | 国产精品亚洲专区无码不卡 | 国产亚洲美女精品久久久2020 | 国产av一区二区三区最新精品 | 久久精品人人做人人综合试看 | 伊在人天堂亚洲香蕉精品区 | 日本va欧美va欧美va精品 | 国产精品沙发午睡系列 | 国产午夜亚洲精品不卡 | 亲嘴扒胸摸屁股激烈网站 | 欧美freesex黑人又粗又大 | 曰本女人与公拘交酡免费视频 | 成人片黄网站色大片免费观看 | 国产高清不卡无码视频 | 欧美成人家庭影院 | 成在人线av无码免费 | 亚洲国产精品无码久久久久高潮 | 又黄又爽又色的视频 | 帮老师解开蕾丝奶罩吸乳网站 | 免费观看又污又黄的网站 | 成人亚洲精品久久久久 | 久久zyz资源站无码中文动漫 | 2019午夜福利不卡片在线 | 波多野结衣av一区二区全免费观看 | 精品成人av一区二区三区 | 伦伦影院午夜理论片 | 国产成人一区二区三区别 | 久久精品视频在线看15 | 国产无遮挡又黄又爽又色 | 丝袜 中出 制服 人妻 美腿 | 人人爽人人爽人人片av亚洲 | 少妇一晚三次一区二区三区 | 乱人伦人妻中文字幕无码久久网 | 亚洲啪av永久无码精品放毛片 | 激情爆乳一区二区三区 | 国精产品一区二区三区 | 丰满人妻精品国产99aⅴ | 任你躁在线精品免费 | 在线看片无码永久免费视频 | 图片区 小说区 区 亚洲五月 | 曰本女人与公拘交酡免费视频 | 亚洲日韩av一区二区三区中文 | 日本va欧美va欧美va精品 | 99久久精品无码一区二区毛片 | 老司机亚洲精品影院 | 99久久人妻精品免费一区 | √天堂中文官网8在线 | 日日鲁鲁鲁夜夜爽爽狠狠 | 国产av无码专区亚洲a∨毛片 | 男女猛烈xx00免费视频试看 | 精品乱子伦一区二区三区 | 国产精品亚洲五月天高清 | 少妇久久久久久人妻无码 | 成人免费无码大片a毛片 | 蜜臀aⅴ国产精品久久久国产老师 | 偷窥日本少妇撒尿chinese | 国产成人综合色在线观看网站 | 中文无码成人免费视频在线观看 | 一本久道久久综合婷婷五月 | 熟妇人妻中文av无码 | 欧美日韩在线亚洲综合国产人 | 国产色视频一区二区三区 | 精品亚洲成av人在线观看 | 特黄特色大片免费播放器图片 | 国产亚洲精品久久久ai换 | 成人三级无码视频在线观看 | 欧美阿v高清资源不卡在线播放 | 77777熟女视频在线观看 а天堂中文在线官网 | 国产色精品久久人妻 | 国产特级毛片aaaaaaa高清 | 人妻无码αv中文字幕久久琪琪布 | 中文字幕无码视频专区 | 曰本女人与公拘交酡免费视频 | 亚拍精品一区二区三区探花 | 国产片av国语在线观看 | 成人免费视频在线观看 | 无码成人精品区在线观看 | 成人亚洲精品久久久久软件 | 中文字幕av伊人av无码av | 少妇高潮喷潮久久久影院 | 亚洲精品国产第一综合99久久 | 国产精品久久久 | 极品尤物被啪到呻吟喷水 | 美女极度色诱视频国产 | 精品国产一区二区三区av 性色 | 国产做国产爱免费视频 | 十八禁视频网站在线观看 | 久久久成人毛片无码 | 欧美色就是色 | 婷婷六月久久综合丁香 | 日韩欧美群交p片內射中文 | 一本大道伊人av久久综合 | 国产综合色产在线精品 | 无码人妻精品一区二区三区不卡 | 亚洲精品一区二区三区在线观看 | 日本va欧美va欧美va精品 | 一本色道婷婷久久欧美 | 人人澡人人妻人人爽人人蜜桃 | 无码中文字幕色专区 | 大肉大捧一进一出视频出来呀 | 无码精品人妻一区二区三区av | 曰本女人与公拘交酡免费视频 | 欧美日韩亚洲国产精品 | 樱花草在线播放免费中文 | 丰满人妻精品国产99aⅴ | 成人片黄网站色大片免费观看 | 国产午夜亚洲精品不卡下载 | 成人试看120秒体验区 | 亚洲国产精品一区二区美利坚 | 熟女少妇在线视频播放 | 久久国产劲爆∧v内射 | 国产va免费精品观看 | 丰满人妻被黑人猛烈进入 | 欧美丰满少妇xxxx性 | 精品国产一区av天美传媒 | 美女毛片一区二区三区四区 | 亚洲中文字幕无码中文字在线 | 久久久久亚洲精品男人的天堂 | 国产一区二区三区四区五区加勒比 | 国产精品内射视频免费 | 日韩欧美中文字幕公布 | 久久国产36精品色熟妇 | 99精品国产综合久久久久五月天 | 狠狠色噜噜狠狠狠狠7777米奇 | 亚洲爆乳大丰满无码专区 | 国产猛烈高潮尖叫视频免费 | 久久久久成人片免费观看蜜芽 | 综合激情五月综合激情五月激情1 | 18禁止看的免费污网站 | 中文字幕无码日韩专区 | 97久久精品无码一区二区 | 九九热爱视频精品 | 精品久久8x国产免费观看 | 欧美野外疯狂做受xxxx高潮 | 红桃av一区二区三区在线无码av | 秋霞成人午夜鲁丝一区二区三区 | 中文字幕久久久久人妻 | 精品国偷自产在线视频 | 日产国产精品亚洲系列 | 野外少妇愉情中文字幕 | 国产精品手机免费 | 青青草原综合久久大伊人精品 | 亚洲欧美国产精品专区久久 | 中文字幕无码热在线视频 | 欧美乱妇无乱码大黄a片 | 夜精品a片一区二区三区无码白浆 | 亚洲色大成网站www国产 | 久久精品视频在线看15 | 亚洲中文字幕无码一久久区 | 成人无码影片精品久久久 | 精品成人av一区二区三区 | 麻豆国产人妻欲求不满 | 免费观看又污又黄的网站 | 亚洲码国产精品高潮在线 | 草草网站影院白丝内射 | 又大又硬又爽免费视频 | 99久久99久久免费精品蜜桃 | 国产黄在线观看免费观看不卡 | 午夜福利试看120秒体验区 | 亚洲色偷偷男人的天堂 | 久久久久av无码免费网 | 亚洲国产午夜精品理论片 | 亚洲中文字幕无码中文字在线 | 一本色道婷婷久久欧美 | 日本大乳高潮视频在线观看 | 爽爽影院免费观看 | 国内精品久久久久久中文字幕 | 国产成人一区二区三区在线观看 | 国产精品多人p群无码 | 国产无遮挡又黄又爽免费视频 | 300部国产真实乱 | 精品国产青草久久久久福利 | 亚洲精品一区二区三区在线观看 | 天天拍夜夜添久久精品 | 粉嫩少妇内射浓精videos | 偷窥日本少妇撒尿chinese | 欧美日韩视频无码一区二区三 | 一本色道久久综合亚洲精品不卡 | 东京热一精品无码av | 国产精品自产拍在线观看 | 国産精品久久久久久久 | 欧美精品在线观看 | 麻豆国产人妻欲求不满谁演的 | 国产乡下妇女做爰 | 久久久久成人片免费观看蜜芽 | 漂亮人妻洗澡被公强 日日躁 | 成人免费视频视频在线观看 免费 | 精品亚洲成av人在线观看 | 亚洲精品www久久久 | 日本一区二区三区免费播放 | 国内揄拍国内精品人妻 | 中文字幕人妻丝袜二区 | 国产精品久久久久久久9999 | 亚洲综合伊人久久大杳蕉 | 少妇厨房愉情理9仑片视频 | 国产成人无码午夜视频在线观看 | 一本久久a久久精品亚洲 | 国产成人亚洲综合无码 | 久久久中文字幕日本无吗 | 成人免费无码大片a毛片 | 国产莉萝无码av在线播放 | 狂野欧美性猛交免费视频 | 亚洲精品综合一区二区三区在线 | 日韩欧美中文字幕公布 | 国产人妖乱国产精品人妖 | 成人无码影片精品久久久 | 老熟女重囗味hdxx69 | 少女韩国电视剧在线观看完整 | 99riav国产精品视频 | 国产精品美女久久久久av爽李琼 | 亚洲综合伊人久久大杳蕉 | 久久综合色之久久综合 | 久久伊人色av天堂九九小黄鸭 | 国产av久久久久精东av | 亚洲无人区午夜福利码高清完整版 | 久久亚洲中文字幕无码 | 亚洲欧美日韩综合久久久 | 少妇人妻av毛片在线看 | 国产精品久久久午夜夜伦鲁鲁 | 亚洲 日韩 欧美 成人 在线观看 | 少妇高潮喷潮久久久影院 | 国产成人无码av在线影院 | 亚洲精品久久久久中文第一幕 | 娇妻被黑人粗大高潮白浆 | 娇妻被黑人粗大高潮白浆 | 天天拍夜夜添久久精品 | 麻豆蜜桃av蜜臀av色欲av | 久久zyz资源站无码中文动漫 | 色欲综合久久中文字幕网 | 国产成人精品视频ⅴa片软件竹菊 | 成人欧美一区二区三区黑人 | 日日鲁鲁鲁夜夜爽爽狠狠 | 亚洲第一无码av无码专区 | 女人被男人爽到呻吟的视频 | 亚洲一区二区三区四区 | 在线成人www免费观看视频 | 日本在线高清不卡免费播放 | 一区二区三区乱码在线 | 欧洲 | 亚洲乱码日产精品bd | 婷婷丁香五月天综合东京热 | 亚洲欧洲无卡二区视頻 | 无码成人精品区在线观看 | 久久精品国产日本波多野结衣 | 中文字幕亚洲情99在线 | 桃花色综合影院 | 色婷婷久久一区二区三区麻豆 | 爆乳一区二区三区无码 | 亚洲国产av精品一区二区蜜芽 | 久久精品女人的天堂av | 国产在线aaa片一区二区99 | 麻豆果冻传媒2021精品传媒一区下载 | 丰满人妻翻云覆雨呻吟视频 | 无套内谢老熟女 | 成人无码精品1区2区3区免费看 | 宝宝好涨水快流出来免费视频 | 久久亚洲精品中文字幕无男同 | 男人扒开女人内裤强吻桶进去 | 精品国产国产综合精品 | 真人与拘做受免费视频 | 曰韩少妇内射免费播放 | 国产成人精品视频ⅴa片软件竹菊 | 久久综合九色综合97网 | 98国产精品综合一区二区三区 | 国产艳妇av在线观看果冻传媒 | 久久97精品久久久久久久不卡 | 无码人妻精品一区二区三区下载 | 中文字幕乱码中文乱码51精品 | 青青草原综合久久大伊人精品 | 丰腴饱满的极品熟妇 | а√天堂www在线天堂小说 | 人人妻在人人 | 无码中文字幕色专区 | 国产精品-区区久久久狼 | 成熟人妻av无码专区 | 国产农村乱对白刺激视频 | 国产精品igao视频网 | 精品久久久久香蕉网 | 人人妻人人澡人人爽人人精品 | 4hu四虎永久在线观看 | 国产精品香蕉在线观看 | 久久久久se色偷偷亚洲精品av | 国产两女互慰高潮视频在线观看 | 又粗又大又硬毛片免费看 | 人妻夜夜爽天天爽三区 | 国产精品亚洲一区二区三区喷水 | 无码一区二区三区在线观看 | 四虎影视成人永久免费观看视频 | 无码人妻少妇伦在线电影 | 熟妇女人妻丰满少妇中文字幕 | 欧美老妇交乱视频在线观看 | 国产色在线 | 国产 | 亚洲精品国产精品乱码视色 | 久久 国产 尿 小便 嘘嘘 | 亚洲成色www久久网站 | 国产精品美女久久久网av | 国产97人人超碰caoprom | 超碰97人人射妻 | 久久久久成人精品免费播放动漫 | 国产av一区二区精品久久凹凸 | 国产精品久久久久7777 | √天堂资源地址中文在线 | 亚洲区欧美区综合区自拍区 | 日韩精品乱码av一区二区 | 亚洲无人区一区二区三区 | 亚洲狠狠色丁香婷婷综合 | 四虎影视成人永久免费观看视频 | 亚洲中文字幕av在天堂 | 国产又粗又硬又大爽黄老大爷视 | 亚洲欧美综合区丁香五月小说 | 亚洲精品综合五月久久小说 | 久久久婷婷五月亚洲97号色 | 漂亮人妻洗澡被公强 日日躁 | 男女超爽视频免费播放 | 99视频精品全部免费免费观看 | 国产xxx69麻豆国语对白 | 亚洲高清偷拍一区二区三区 | 欧美丰满老熟妇xxxxx性 | 麻豆精品国产精华精华液好用吗 | 国产精品久久久久无码av色戒 | 宝宝好涨水快流出来免费视频 | 免费人成网站视频在线观看 | 图片区 小说区 区 亚洲五月 | 欧美xxxxx精品 | 无码中文字幕色专区 | 久久国内精品自在自线 | 亚洲国产日韩a在线播放 | 国产特级毛片aaaaaaa高清 | 日产国产精品亚洲系列 | 亚洲经典千人经典日产 | 成人免费视频一区二区 | 玩弄少妇高潮ⅹxxxyw | 国产午夜精品一区二区三区嫩草 | 中文字幕无码日韩欧毛 | 狠狠色色综合网站 | 国产精品视频免费播放 | 欧美丰满少妇xxxx性 | 宝宝好涨水快流出来免费视频 | 97精品人妻一区二区三区香蕉 | 久久久久免费看成人影片 | 国产乱人伦av在线无码 | 亚洲综合在线一区二区三区 | 国产在线aaa片一区二区99 | 激情内射日本一区二区三区 | 99久久无码一区人妻 | 一个人看的www免费视频在线观看 | 高清国产亚洲精品自在久久 | 婷婷综合久久中文字幕蜜桃三电影 | 久久久精品成人免费观看 | 国产福利视频一区二区 | 无套内谢老熟女 | 波多野42部无码喷潮在线 | 性色av无码免费一区二区三区 | 亚洲狠狠婷婷综合久久 | 久久午夜无码鲁丝片 | 水蜜桃av无码 | 中文无码成人免费视频在线观看 | 精品午夜福利在线观看 | 婷婷丁香五月天综合东京热 | 久久人妻内射无码一区三区 | 亚洲自偷精品视频自拍 | 亚洲欧美中文字幕5发布 | 日韩精品a片一区二区三区妖精 | 巨爆乳无码视频在线观看 | 精品久久8x国产免费观看 | 水蜜桃av无码 | 亚洲日韩乱码中文无码蜜桃臀网站 | 国产精品无套呻吟在线 | 亚洲成av人在线观看网址 | 麻豆成人精品国产免费 | 亚洲国产精品毛片av不卡在线 | 国产精品亚洲一区二区三区喷水 | 国产精品久久久久久亚洲毛片 | 97久久国产亚洲精品超碰热 | 在线观看免费人成视频 | 久久精品女人的天堂av | 无码帝国www无码专区色综合 | 男女爱爱好爽视频免费看 | 婷婷色婷婷开心五月四房播播 | 国产无遮挡又黄又爽又色 | 女人被男人爽到呻吟的视频 | 久久午夜无码鲁丝片 | 国产一区二区三区四区五区加勒比 | 俄罗斯老熟妇色xxxx | 又色又爽又黄的美女裸体网站 | 亚洲熟女一区二区三区 | 亚洲精品一区二区三区四区五区 | 999久久久国产精品消防器材 | 国产精华av午夜在线观看 | 中文久久乱码一区二区 | 丁香啪啪综合成人亚洲 | 亚洲精品欧美二区三区中文字幕 | 国产三级久久久精品麻豆三级 | 大肉大捧一进一出好爽视频 | 久久综合狠狠综合久久综合88 | 亚洲热妇无码av在线播放 | 中文亚洲成a人片在线观看 | 欧美老人巨大xxxx做受 | 久久熟妇人妻午夜寂寞影院 | 国产一区二区三区影院 | 免费国产黄网站在线观看 | 亲嘴扒胸摸屁股激烈网站 | 麻豆人妻少妇精品无码专区 | 精品一区二区三区无码免费视频 | 国产在线精品一区二区三区直播 | 青草青草久热国产精品 | 国产人妻久久精品二区三区老狼 | 午夜福利一区二区三区在线观看 | 亚洲欧美中文字幕5发布 | 蜜臀av在线播放 久久综合激激的五月天 | 亚欧洲精品在线视频免费观看 | 欧美熟妇另类久久久久久多毛 | 国产精华av午夜在线观看 | 久久久精品成人免费观看 | 日日躁夜夜躁狠狠躁 | 日韩人妻无码一区二区三区久久99 | 国产亚洲精品久久久久久久久动漫 | 国产精品久久精品三级 | 伊人久久大香线蕉亚洲 | 亚洲精品中文字幕久久久久 | 人妻互换免费中文字幕 | 国产午夜亚洲精品不卡下载 | 精品无码一区二区三区爱欲 | 无码人妻精品一区二区三区下载 | 少妇厨房愉情理9仑片视频 | 国产精品毛多多水多 | 国产精品久久久久7777 | 日韩av无码一区二区三区不卡 | 久久久久免费精品国产 | 欧美变态另类xxxx | 国精品人妻无码一区二区三区蜜柚 | 婷婷丁香六月激情综合啪 | 久热国产vs视频在线观看 | 免费观看又污又黄的网站 | 97人妻精品一区二区三区 | 色偷偷人人澡人人爽人人模 | 午夜福利电影 | 无遮无挡爽爽免费视频 | 久久这里只有精品视频9 | 色婷婷综合激情综在线播放 | 国产超级va在线观看视频 | 亚洲国产欧美在线成人 | 国产成人av免费观看 | 少妇激情av一区二区 | 免费观看的无遮挡av | 天天燥日日燥 | 性生交大片免费看l | 久久久精品欧美一区二区免费 | 伊人久久大香线焦av综合影院 | 久久久无码中文字幕久... | 人妻插b视频一区二区三区 | 九九在线中文字幕无码 | 久久99久久99精品中文字幕 | 人人妻人人澡人人爽人人精品 | 搡女人真爽免费视频大全 | ass日本丰满熟妇pics | 少妇邻居内射在线 | 久久久久免费精品国产 | 久久精品国产精品国产精品污 | 国产麻豆精品一区二区三区v视界 | 日本xxxx色视频在线观看免费 | 精品久久久久香蕉网 | 鲁鲁鲁爽爽爽在线视频观看 | 丰满岳乱妇在线观看中字无码 | 18精品久久久无码午夜福利 | 欧美精品无码一区二区三区 | 国产成人久久精品流白浆 | 51国偷自产一区二区三区 | 国产精品久久久久无码av色戒 | 国产麻豆精品精东影业av网站 | 天堂一区人妻无码 | 99久久精品午夜一区二区 | 久久亚洲中文字幕精品一区 | 久9re热视频这里只有精品 | 波多野结衣aⅴ在线 | 国产精品无码一区二区三区不卡 | 在线观看欧美一区二区三区 | yw尤物av无码国产在线观看 | 国产女主播喷水视频在线观看 | 四虎永久在线精品免费网址 | 国精产品一区二区三区 | 久久人人爽人人爽人人片ⅴ | 麻豆国产97在线 | 欧洲 | 精品国偷自产在线视频 | 欧美激情一区二区三区成人 | 精品无码av一区二区三区 | 成人影院yy111111在线观看 | 色狠狠av一区二区三区 | 国产成人一区二区三区在线观看 | 国产真实伦对白全集 | 久久综合色之久久综合 | 97无码免费人妻超级碰碰夜夜 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 欧美亚洲国产一区二区三区 | 高清国产亚洲精品自在久久 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 亚洲欧洲日本无在线码 | 综合人妻久久一区二区精品 | 亚洲人成人无码网www国产 | 日本免费一区二区三区最新 | 男女爱爱好爽视频免费看 | 极品嫩模高潮叫床 | 国产性生交xxxxx无码 | 久久综合九色综合97网 | 中文字幕乱妇无码av在线 | 精品厕所偷拍各类美女tp嘘嘘 | 国产成人久久精品流白浆 | 亚洲乱码中文字幕在线 | 国产在线精品一区二区高清不卡 | 国内揄拍国内精品人妻 | 日韩成人一区二区三区在线观看 | 三上悠亚人妻中文字幕在线 | 成人无码视频免费播放 | 亚洲成色在线综合网站 | 香蕉久久久久久av成人 | 好男人社区资源 | 极品尤物被啪到呻吟喷水 | 久久亚洲日韩精品一区二区三区 | 国产乱子伦视频在线播放 | 国产精品丝袜黑色高跟鞋 | 亚洲欧洲日本综合aⅴ在线 | 亚洲精品一区二区三区婷婷月 |