日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

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

编程问答

使用ActiveMQ –具有故障转移协议的“主/从”配置

發布時間:2023/12/3 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用ActiveMQ –具有故障转移协议的“主/从”配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

介紹

ActiveMQ代理往往是企業中消息傳遞基礎結構的核心部分。 此消息傳遞基礎結構的高度可用性和可伸縮性至關重要。 請閱讀此鏈接 ,以了解有關創建經紀人網絡以支持各種用例的更多信息。 ActiveMQ的流行用例之一是帶有共享數據庫的主/從配置。 使用此配置時,消息使用者和生產者可以使用不帶有中斷轉移協議的ActiveMQ的連接工廠來不受干擾地進行操作。 當從屬ActiveMQ節點接管成為主節點時,故障轉移協議使使用者和生產者不必處理任何潛在的停機時間或應用程序級別的重新連接邏輯,如果當前主節點由于任何原因而發生故障,該故障轉移協議就會發生。 我必須警告,不得使用此配置來掩蓋掉主節點的任何問題。 我們應該消除導致計劃外主節點中斷的任何原因。

總覽

在此博客中,我將演示以下內容:

  • 在具有共享的基于KahaDB文件的數據庫的主/從配置中運行2個ActiveMQ節點。
  • 將托管在Tomcat實例中的ActiveMQ Web控制臺配置為指向群集中的哪個節點為主節點。
  • 故障轉移方案。
  • 故障轉移忽略的消息發布者和使用者行為。
  • 先決條件

  • 安裝ActiveMQ版本5.8.0
  • 從此處下載ActiveMQ版本5.8.0 Web控制臺之戰
  • 安裝Tomcat版本7.0.35 –承載ActiveMQ Web控制臺應用程序
  • 深潛

    我們將在同一臺Windows 7計算機上創建一個2節點ActiveMQ群集。 我們將需要配置端口(TCP和JMX),以便沒有沖突。 ActiveMQ提供了一個名為“ activemq-admin.bat”的腳本,該腳本可幫助使用相同的二進制文件(類似于Tomcat)運行ActiveMQ的多個實例。 讓我們繼續創建broker-1和broker-2實例。

    命令: activemq-admin創建<DIR-for-ActiveMQ-node>

    C:\apache-activemq-5.8.0\bin>activemq-admin create ..\cluster\broker-1Java Runtime: Sun Microsystems Inc. 1.6.0_31 C:\Program Files\Java\jdk1.6.0_31\jreHeap sizes: current=125632k ?free=124976k ?max=1864192kJVM args: -Dactivemq.classpath=C:\apache-activemq-5.8.0\bin\..\conf;C:\apache-activemq-5.8.0\bin\..\data; -Dactivemq.home=C:\apache-activemq-5.8.0 \bin\.. -Dactivemq.base=C:\apache-activemq-5.8.0\bin\.. -Dactivemq.data=C:\apache-activemq-5.8.0\bin\..\data -Djava.io.tmpdir=C:\apache-activemq-5.8.0 \bin\..\data\tmp -Dactivemq.conf=C:\apache-activemq-5.8.0\bin\..\conf Extensions classpath:[C:\apache-activemq-5.8.0\bin\..\lib,C:\apache-activemq-5.8.0\bin\..\lib\camel,C:\apache-activemq-5.8.0\bin\..\lib\optional,C:\apache-activemq-5.8.0 \bin\..\lib\web,C:\apache-activemq-5.8.0\bin\..\lib\extra] ACTIVEMQ_HOME: C:\apache-activemq-5.8.0\bin\.. ACTIVEMQ_BASE: C:\apache-activemq-5.8.0\bin\.. ACTIVEMQ_CONF: C:\apache-activemq-5.8.0\bin\..\conf ACTIVEMQ_DATA: C:\apache-activemq-5.8.0\bin\..\data Running create broker task... Creating directory: C:\apache-activemq-5.8.0\cluster\broker-1 Creating directory: C:\apache-activemq-5.8.0\cluster\broker-1\bin Creating directory: C:\apache-activemq-5.8.0\cluster\broker-1\conf Creating new file: C:\apache-activemq-5.8.0\cluster\broker-1\bin\broker-1.bat Creating new file: C:\apache-activemq-5.8.0\cluster\broker-1\bin\broker-1 Copying from: C:\apache-activemq-5.8.0\conf\activemq.xmlto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\activemq.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-command.xmlto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\activemq-command.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-demo.xmlto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\activemq-demo.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-dynamic-network-broker1.xmlto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\activemq-dynamic-network-broker1.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-dynamic-network-broker2.xmlto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\activemq-dynamic-network-broker2.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-jdbc.xmlto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\activemq-jdbc.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-scalability.xmlto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\activemq-scalability.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-security.xmlto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\activemq-security.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-specjms.xmlto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\activemq-specjms.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-static-network-broker1.xmlto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\activemq-static-network-broker1.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-static-network-broker2.xmlto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\activemq-static-network-broker2.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-stomp.xmlto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\activemq-stomp.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-throughput.xmlto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\activemq-throughput.xml Copying from: C:\apache-activemq-5.8.0\conf\broker-localhost.certto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\broker-localhost.cert Copying from: C:\apache-activemq-5.8.0\conf\broker.ksto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\broker.ks Copying from: C:\apache-activemq-5.8.0\conf\broker.tsto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\broker.ts Copying from: C:\apache-activemq-5.8.0\conf\camel.xmlto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\camel.xml Copying from: C:\apache-activemq-5.8.0\conf\client.ksto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\client.ks Copying from: C:\apache-activemq-5.8.0\conf\client.tsto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\client.ts Copying from: C:\apache-activemq-5.8.0\conf\credentials-enc.propertiesto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\credentials-enc.properties Copying from: C:\apache-activemq-5.8.0\conf\credentials.propertiesto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\credentials.properties Copying from: C:\apache-activemq-5.8.0\conf\jetty-demo.xmlto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\jetty-demo.xml Copying from: C:\apache-activemq-5.8.0\conf\jetty-realm.propertiesto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\jetty-realm.properties Copying from: C:\apache-activemq-5.8.0\conf\jetty.xmlto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\jetty.xml Copying from: C:\apache-activemq-5.8.0\conf\jmx.accessto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\jmx.access Copying from: C:\apache-activemq-5.8.0\conf\jmx.passwordto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\jmx.password Copying from: C:\apache-activemq-5.8.0\conf\log4j.propertiesto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\log4j.properties Copying from: C:\apache-activemq-5.8.0\conf\logging.propertiesto: C:\apache-activemq-5.8.0\cluster\broker-1\conf\logging.properties

    現在讓我們創建broker-2實例…

    C:\apache-activemq-5.8.0\bin>activemq-admin create ..\cluster\broker-2Java Runtime: Sun Microsystems Inc. 1.6.0_31 C:\Program Files\Java\jdk1.6.0_31\jreHeap sizes: current=125632k ?free=124976k ?max=1864192kJVM args: -Dactivemq.classpath=C:\apache-activemq-5.8.0\bin\..\conf;C:\apache-activemq-5.8.0\bin\..\data; -Dactivemq.home=C:\apache-activemq-5.8.0 \bin\.. -Dactivemq.base=C:\apache-activemq-5.8.0\bin\.. -Dactivemq.data=C:\apache-activemq-5.8.0\bin\..\data -Djava.io.tmpdir=C:\apache-activemq-5.8.0 \bin\..\data\tmp -Dactivemq.conf=C:\apache-activemq-5.8.0\bin\..\conf Extensions classpath:[C:\apache-activemq-5.8.0\bin\..\lib,C:\apache-activemq-5.8.0\bin\..\lib\camel,C:\apache-activemq-5.8.0\bin\..\lib\optional,C:\apache-activemq-5.8.0 \bin\..\lib\web,C:\apache-activemq-5.8.0\bin\..\lib\extra] ACTIVEMQ_HOME: C:\apache-activemq-5.8.0\bin\.. ACTIVEMQ_BASE: C:\apache-activemq-5.8.0\bin\.. ACTIVEMQ_CONF: C:\apache-activemq-5.8.0\bin\..\conf ACTIVEMQ_DATA: C:\apache-activemq-5.8.0\bin\..\data Running create broker task... Creating directory: C:\apache-activemq-5.8.0\cluster\broker-2 Creating directory: C:\apache-activemq-5.8.0\cluster\broker-2\bin Creating directory: C:\apache-activemq-5.8.0\cluster\broker-2\conf Creating new file: C:\apache-activemq-5.8.0\cluster\broker-2\bin\broker-2.bat Creating new file: C:\apache-activemq-5.8.0\cluster\broker-2\bin\broker-2 Copying from: C:\apache-activemq-5.8.0\conf\activemq.xmlto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\activemq.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-command.xmlto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\activemq-command.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-demo.xmlto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\activemq-demo.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-dynamic-network-broker1.xmlto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\activemq-dynamic-network-broker1.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-dynamic-network-broker2.xmlto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\activemq-dynamic-network-broker2.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-jdbc.xmlto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\activemq-jdbc.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-scalability.xmlto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\activemq-scalability.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-security.xmlto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\activemq-security.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-specjms.xmlto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\activemq-specjms.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-static-network-broker1.xmlto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\activemq-static-network-broker1.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-static-network-broker2.xmlto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\activemq-static-network-broker2.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-stomp.xmlto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\activemq-stomp.xml Copying from: C:\apache-activemq-5.8.0\conf\activemq-throughput.xmlto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\activemq-throughput.xml Copying from: C:\apache-activemq-5.8.0\conf\broker-localhost.certto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\broker-localhost.cert Copying from: C:\apache-activemq-5.8.0\conf\broker.ksto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\broker.ks Copying from: C:\apache-activemq-5.8.0\conf\broker.tsto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\broker.ts Copying from: C:\apache-activemq-5.8.0\conf\camel.xmlto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\camel.xml Copying from: C:\apache-activemq-5.8.0\conf\client.ksto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\client.ks Copying from: C:\apache-activemq-5.8.0\conf\client.tsto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\client.ts Copying from: C:\apache-activemq-5.8.0\conf\credentials-enc.propertiesto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\credentials-enc.properties Copying from: C:\apache-activemq-5.8.0\conf\credentials.propertiesto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\credentials.properties Copying from: C:\apache-activemq-5.8.0\conf\jetty-demo.xmlto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\jetty-demo.xml Copying from: C:\apache-activemq-5.8.0\conf\jetty-realm.propertiesto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\jetty-realm.properties Copying from: C:\apache-activemq-5.8.0\conf\jetty.xmlto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\jetty.xml Copying from: C:\apache-activemq-5.8.0\conf\jmx.accessto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\jmx.access Copying from: C:\apache-activemq-5.8.0\conf\jmx.passwordto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\jmx.password Copying from: C:\apache-activemq-5.8.0\conf\log4j.propertiesto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\log4j.properties Copying from: C:\apache-activemq-5.8.0\conf\logging.propertiesto: C:\apache-activemq-5.8.0\cluster\broker-2\conf\logging.properties

    您可能已經注意到上面的以下屬性:

    ACTIVEMQ_BASE: C:\apache-activemq-5.8.0\bin\.. ACTIVEMQ_CONF: C:\apache-activemq-5.8.0\bin\..\conf ACTIVEMQ_DATA: C:\apache-activemq-5.8.0\bin\..\data

    這些屬性需要固定,因為我們希望ACTIVE-1和Broker-2的ACTIVEMQ_BASE和ACTIVEMQ_CONF有所不同。

    我們需要編輯以下文件:

    • C:\ apache-activemq-5.8.0 \ cluster \ broker-1 \ bin目錄中的broker-1.bat
      • 設置ACTIVEMQ_HOME =” C:/apache-activemq-5.8.0”
    • C:\ apache-activemq-5.8.0 \ cluster \ broker-2 \ bin目錄中的broker-2.bat
      • 設置ACTIVEMQ_HOME =” C:/apache-activemq-5.8.0”

    您可能會觀察到broker-1和broker-2節點共享相同的ACTIVEMQ_DATA文件夾。 由于我們使用內置的KahaDB來保持持久性,因此broker-1和broker-2都將共享這一點。

    我們需要區分Broker-1和Broker-2的tcp端口,還需要啟用JMX并配置JMX端口以進行遠程監視。

    讓我們編輯broker-1的activemq.xml來修復tcp端口:

    <transportConnectors><!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB --><transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireformat.maxFrameSize=104857600"/><!--<transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireformat.maxFrameSize=104857600"/>--> </transportConnectors>

    讓我們編輯broker-1的activemq.xml以啟用JMX監視,注意下面的useJMX =“ true”屬性。

    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="broker-1" dataDirectory="${activemq.data}" useJmx="true">

    讓我們配置JMX端口

    <managementContext><managementContext createConnector="true" connectorPort="1099"/> </managementContext>

    對broker-2重復相同的步驟。 將TCP端口設置為61626,將JMX端口設置為2099。

    啟動broker-1。

    C:\apache-activemq-5.8.0\cluster\broker-1\bin>broker-1.bat Java Runtime: Sun Microsystems Inc. 1.6.0_31 C:\Program Files\Java\jdk1.6.0_31\jreHeap sizes: current=1004928k free=994439k max=1004928kJVM args: -Dcom.sun.management.jmxremote -Xms1G -Xmx1G -Djava.util.logging.config.file=logging.properties -Dactivemq.classpath=C:/apache-activemq- 5.8.0/cluster/broker-1/conf;C:/apache-activemq-5.8.0/cluster/broker-1/conf;C:/apache-activemq-5.8.0/conf; -Dactivemq.home=C:/apache-activemq-5.8.0 -Da ctivemq.base=C:/apache-activemq-5.8.0/cluster/broker-1 -Dactivemq.conf=C:/apache-activemq-5.8.0/cluster/broker-1/conf -Dactivemq.data=C:/apache-active mq-5.8.0\data -Djava.io.tmpdir=C:/apache-activemq-5.8.0\data\tmp Extensions classpath:[C:\apache-activemq-5.8.0\cluster\broker-1\lib,C:\apache-activemq-5.8.0\lib,C:\apache-activemq-5.8.0\cluster\broker-1\lib\camel,C:\apache-activemq-5 .8.0\cluster\broker-1\lib\optional,C:\apache-activemq-5.8.0\cluster\broker-1\lib\web,C:\apache-activemq-5.8.0\cluster\broker-1\lib\extra,C:\apache-act ivemq-5.8.0\lib\camel,C:\apache-activemq-5.8.0\lib\optional,C:\apache-activemq-5.8.0\lib\web,C:\apache-activemq-5.8.0\lib\extra] ACTIVEMQ_HOME: C:\apache-activemq-5.8.0 ACTIVEMQ_BASE: C:\apache-activemq-5.8.0\cluster\broker-1 ACTIVEMQ_CONF: C:\apache-activemq-5.8.0\cluster\broker-1\conf ACTIVEMQ_DATA: C:\apache-activemq-5.8.0\data Loading message broker from: xbean:activemq.xmlINFO | Refreshing org.apache.activemq.xbean.XBeanBrokerFactory$1@71060478: startup date [Tue Jul 09 16:59:15 CDT 2013]; root of context hierarchyINFO | PListStore:[C:\apache-activemq-5.8.0\data\broker-1\tmp_storage] startedINFO | Using Persistence Adapter: KahaDBPersistenceAdapter[C:\apache-activemq-5.8.0\data\kahadb]INFO | JMX consoles can connect to service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmiINFO | KahaDB is version 4INFO | Recovering from the journal ...INFO | Recovery replayed 1 operations from the journal in 0.028 seconds.INFO | Apache ActiveMQ 5.8.0 (broker-1, ID:AKUNTAMU-1-27777-1373407157813-0:1) is startingINFO | Listening for connections at: tcp://AKUNTAMU-1:61616?maximumConnections=1000&wireformat.maxFrameSize=104857600INFO | Connector openwire StartedINFO | Apache ActiveMQ 5.8.0 (broker-1, ID:AKUNTAMU-1-27777-1373407157813-0:1) startedINFO | For help or more information please see: http://activemq.apache.orgWARN | Store limit is 102400 mb, whilst the data directory: C:\apache-activemq-5.8.0\data\kahadb only has 38889 mb of usable space ERROR | Temporary Store limit is 51200 mb, whilst the temporary data directory: C:\apache-activemq-5.8.0\data\broker-1\tmp_storage only has 38889 mb o f usable spaceINFO | Web console type: embeddedINFO | ActiveMQ WebConsole initialized.INFO | Initializing Spring FrameworkServlet 'dispatcher'INFO | jolokia-agent: No access restrictor found at classpath:/jolokia-access.xml, access to all MBeans is allowed

    啟動broker-2。

    您將觀察到broker-2無法獲取該鎖,因為broker-1已經抓住了它。 broker-2將繼續嘗試每10秒獲取一次鎖定。

    C:\apache-activemq-5.8.0\cluster\broker-2\bin>broker-2.bat Java Runtime: Sun Microsystems Inc. 1.6.0_31 C:\Program Files\Java\jdk1.6.0_31\jreHeap sizes: current=1004928k free=994439k max=1004928kJVM args: -Dcom.sun.management.jmxremote -Xms1G -Xmx1G -Djava.util.logging.config.file=logging.properties -Dactivemq.classpath=C:/apache-activemq- 5.8.0/cluster/broker-2/conf;C:/apache-activemq-5.8.0/cluster/broker-2/conf;C:/apache-activemq-5.8.0/conf; -Dactivemq.home=C:/apache-activemq-5.8.0 -Da ctivemq.base=C:/apache-activemq-5.8.0/cluster/broker-2 -Dactivemq.conf=C:/apache-activemq-5.8.0/cluster/broker-2/conf -Dactivemq.data=C:/apache-active mq-5.8.0\data -Djava.io.tmpdir=C:/apache-activemq-5.8.0\data\tmp Extensions classpath:[C:\apache-activemq-5.8.0\cluster\broker-2\lib,C:\apache-activemq-5.8.0\lib,C:\apache-activemq-5.8.0\cluster\broker-2\lib\camel,C:\apache-activemq-5 .8.0\cluster\broker-2\lib\optional,C:\apache-activemq-5.8.0\cluster\broker-2\lib\web,C:\apache-activemq-5.8.0\cluster\broker-2\lib\extra,C:\apache-act ivemq-5.8.0\lib\camel,C:\apache-activemq-5.8.0\lib\optional,C:\apache-activemq-5.8.0\lib\web,C:\apache-activemq-5.8.0\lib\extra] ACTIVEMQ_HOME: C:\apache-activemq-5.8.0 ACTIVEMQ_BASE: C:\apache-activemq-5.8.0\cluster\broker-2 ACTIVEMQ_CONF: C:\apache-activemq-5.8.0\cluster\broker-2\conf ACTIVEMQ_DATA: C:\apache-activemq-5.8.0\data Loading message broker from: xbean:activemq.xmlINFO | Refreshing org.apache.activemq.xbean.XBeanBrokerFactory$1@420f9c40: startup date [Tue Jul 09 17:02:55 CDT 2013]; root of context hierarchyINFO | PListStore:[C:\apache-activemq-5.8.0\data\broker-2\tmp_storage] startedINFO | Using Persistence Adapter: KahaDBPersistenceAdapter[C:\apache-activemq-5.8.0\data\kahadb]INFO | Database C:\apache-activemq-5.8.0\data\kahadb\lock is locked... waiting 10 seconds for the database to be unlocked. Reason: java.io.IOExceptio n: File 'C:\apache-activemq-5.8.0\data\kahadb\lock' could not be locked.INFO | JMX consoles can connect to service:jmx:rmi:///jndi/rmi://localhost:2099/jmxrmiINFO | Database C:\apache-activemq-5.8.0\data\kahadb\lock is locked... waiting 10 seconds for the database to be unlocked. Reason: java.io.IOExceptio n: File 'C:\apache-activemq-5.8.0\data\kahadb\lock' could not be locked.INFO | Database C:\apache-activemq-5.8.0\data\kahadb\lock is locked... waiting 10 seconds for the database to be unlocked. Reason: java.io.IOExceptio n: File 'C:\apache-activemq-5.8.0\data\kahadb\lock' could not be locked.

    現在,讓我們配置ActiveMQ Web控制臺。

    默認情況下,ActiveMQ分發包含管理Web控制臺,但是在“主/從”配置中,未知哪個節點是主節點。 因此,使用嵌入式Web控制臺沒有任何意義。 因此,最好將ActiveMQ Web控制臺放在ActiveMQ節點之外。

    您可以通過在每個ActiveMQ節點的conf目錄中的activemq.xml中注釋以下行來禁用每個節點中的嵌入式ActiveMQ Web控制臺。

    <!--<import resource="jetty.xml"/>-->

    對于我們的示例,我們將在Tomcat容器中部署ActiveMQ Web控制臺Web應用程序,然后配置ActiveMQ Web控制臺應用程序以智能地指向ActiveMQ群集中的主節點。

    因此,讓我們將activemq-web-console-5.8.0.war復制到Tomcat的webapps目錄中。 將以下行添加到catalina.bat

    set JAVA_OPTS=-Dwebconsole.type=properties -Dwebconsole.jms.url=failover:(tcp://localhost:61616,tcp://localhost:61626) -Dwebconsole.jmx.url=service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi,service:jmx:rmi:///jndi/rmi://localhost:2099/jmxrmi

    現在讓我們啟動Tomcat。

    C:\apache-tomcat-7.0.35\bin>.\catalina.bat run Using CATALINA_BASE: "C:\apache-tomcat-7.0.35" Using CATALINA_HOME: "C:\apache-tomcat-7.0.35" Using CATALINA_TMPDIR: "C:\apache-tomcat-7.0.35\temp" Using JRE_HOME: "C:\Program Files\Java\jdk1.6.0_31" Using CLASSPATH: "C:\apache-tomcat-7.0.35\bin\bootstrap.jar;C:\apache-tomcat-7.0.35\bin\tomcat-juli.jar" Jul 9, 2013 5:28:08 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] Jul 9, 2013 5:28:08 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] Jul 9, 2013 5:28:08 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 635 ms Jul 9, 2013 5:28:08 PM org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina Jul 9, 2013 5:28:08 PM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.35 Jul 9, 2013 5:28:08 PM org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive C:\apache-tomcat-7.0.35\webapps\activemq-web-console-5.8.0.war SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/C:/apache-tomcat-7.0.35/webapps/activemq-web-console-5.8.0/WEB-INF/lib/activemq-all-5.8.0.jar!/org/slf4j/impl/Stati cLoggerBinder.class] SLF4J: Found binding in [jar:file:/C:/apache-tomcat-7.0.35/webapps/activemq-web-console-5.8.0/WEB-INF/lib/slf4j-log4j12-1.6.6.jar!/org/slf4j/impl/Stat icLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 2013-07-09 17:28:13,389 [ost-startStop-1] INFO WebConsoleStarter - Web console type: properties 2013-07-09 17:28:13,960 [ost-startStop-1] INFO WebConsoleStarter - ActiveMQ WebConsole initialized. 2013-07-09 17:28:14,095 [ost-startStop-1] INFO ndingBeanNameUrlHandlerMapping - Mapped URL path [/createDestination.action] onto handler '/createDest ination.action' 2013-07-09 17:28:14,096 [ost-startStop-1] INFO ndingBeanNameUrlHandlerMapping - Mapped URL path [/deleteDestination.action] onto handler '/deleteDest ination.action' 2013-07-09 17:28:14,097 [ost-startStop-1] INFO ndingBeanNameUrlHandlerMapping - Mapped URL path [/createSubscriber.action] onto handler '/createSubsc riber.action' 2013-07-09 17:28:14,098 [ost-startStop-1] INFO ndingBeanNameUrlHandlerMapping - Mapped URL path [/deleteSubscriber.action] onto handler '/deleteSubsc riber.action' 2013-07-09 17:28:14,099 [ost-startStop-1] INFO ndingBeanNameUrlHandlerMapping - Mapped URL path [/sendMessage.action] onto handler '/sendMessage.acti on' 2013-07-09 17:28:14,100 [ost-startStop-1] INFO ndingBeanNameUrlHandlerMapping - Mapped URL path [/purgeDestination.action] onto handler '/purgeDestin ation.action' 2013-07-09 17:28:14,101 [ost-startStop-1] INFO ndingBeanNameUrlHandlerMapping - Mapped URL path [/deleteMessage.action] onto handler '/deleteMessage. action' 2013-07-09 17:28:14,103 [ost-startStop-1] INFO ndingBeanNameUrlHandlerMapping - Mapped URL path [/copyMessage.action] onto handler '/copyMessage.acti on' 2013-07-09 17:28:14,104 [ost-startStop-1] INFO ndingBeanNameUrlHandlerMapping - Mapped URL path [/moveMessage.action] onto handler '/moveMessage.acti on' 2013-07-09 17:28:14,105 [ost-startStop-1] INFO ndingBeanNameUrlHandlerMapping - Mapped URL path [/deleteJob.action] onto handler '/deleteJob.action' Jul 9, 2013 5:28:14 PM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory C:\apache-tomcat-7.0.35\webapps\docs Jul 9, 2013 5:28:14 PM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory C:\apache-tomcat-7.0.35\webapps\examples Jul 9, 2013 5:28:14 PM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory C:\apache-tomcat-7.0.35\webapps\host-manager Jul 9, 2013 5:28:14 PM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory C:\apache-tomcat-7.0.35\webapps\manager Jul 9, 2013 5:28:14 PM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory C:\apache-tomcat-7.0.35\webapps\ROOT Jul 9, 2013 5:28:14 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] Jul 9, 2013 5:28:14 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] Jul 9, 2013 5:28:14 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 6642 ms

    讓我們訪問Web控制臺:http:// localhost:8080 / activemq-web-console-5.8.0

    如果出現提示,請使用admin / admin作為用戶名/密碼。 這些是默認的安全設置。 請參考conf目錄中的jetty.xml和jetty-realm.properties。

    如上所示,“經紀人-1”是當前的主經紀人。

    現在,如果要關閉broker-1。 在運行broker-1的Terminal窗口中,按Control + C,您會注意到broker-2獲得了鎖定并成為了主服務器。

    INFO | Database C:\apache-activemq-5.8.0\data\kahadb\lock is locked... waiting 10 seconds for the database to be unlocked. Reason: java.io.IOExceptio n: File 'C:\apache-activemq-5.8.0\data\kahadb\lock' could not be locked.INFO | Database C:\apache-activemq-5.8.0\data\kahadb\lock is locked... waiting 10 seconds for the database to be unlocked. Reason: java.io.IOExceptio n: File 'C:\apache-activemq-5.8.0\data\kahadb\lock' could not be locked.INFO | Database C:\apache-activemq-5.8.0\data\kahadb\lock is locked... waiting 10 seconds for the database to be unlocked. Reason: java.io.IOExceptio n: File 'C:\apache-activemq-5.8.0\data\kahadb\lock' could not be locked.INFO | Database C:\apache-activemq-5.8.0\data\kahadb\lock is locked... waiting 10 seconds for the database to be unlocked. Reason: java.io.IOExceptio n: File 'C:\apache-activemq-5.8.0\data\kahadb\lock' could not be locked.INFO | KahaDB is version 4INFO | Recovering from the journal ...INFO | Recovery replayed 2 operations from the journal in 0.022 seconds.INFO | Apache ActiveMQ 5.8.0 (broker-2, ID:AKUNTAMU-1-28147-1373409767675-0:1) is startingINFO | Listening for connections at: tcp://AKUNTAMU-1:61626?maximumConnections=1000&wireformat.maxFrameSize=104857600INFO | Connector openwire StartedINFO | Apache ActiveMQ 5.8.0 (broker-2, ID:AKUNTAMU-1-28147-1373409767675-0:1) startedINFO | For help or more information please see: http://activemq.apache.orgWARN | Store limit is 102400 mb, whilst the data directory: C:\apache-activemq-5.8.0\data\kahadb only has 38888 mb of usable space ERROR | Temporary Store limit is 51200 mb, whilst the temporary data directory: C:\apache-activemq-5.8.0\data\broker-2\tmp_storage only has 38888 mb o f usable spaceINFO | Web console type: embeddedINFO | ActiveMQ WebConsole initialized.INFO | Initializing Spring FrameworkServlet 'dispatcher'INFO | jolokia-agent: No access restrictor found at classpath:/jolokia-access.xml, access to all MBeans is allowed

    讓我們刷新Web控制臺

    您可能會看到,現在主節點是broker-2。

    現在,我們已經看到在故障轉移場景中使用外部Web控制臺在節點之間進行無縫切換,讓我們從消息生產者和使用者的角度來看相同的情況。

    我將使用簡單的消息發布器將50條持久消息發布到隊列中,并讓異步使用者接收這50條消息。 我將在發送消息時引入一些延遲,以便我們可以將主服務器斷開幾次并創建一些故障轉移方案。 目的是了解故障轉移協議如何使節點故障轉移完全透明,從而使應用程序不必處理任何重新連接邏輯。

    這是一個使用ActiveMQConnectionFactory和故障轉移協議的簡單生產者。 請注意下面的代碼片段中突出顯示的故障轉移協議URL。

    package com.akuntamukkala.amqms;import javax.jms.Connection; import javax.jms.DeliveryMode; import javax.jms.Destination; import javax.jms.MessageProducer; import javax.jms.Session; import javax.jms.TextMessage;import org.apache.activemq.ActiveMQConnectionFactory; import org.apache.log4j.Logger;public class Producer {private static final Logger log = Logger.getLogger(Producer.class);public static void main(String[] args) throws Exception {// Create a ConnectionFactoryActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("failover:(tcp://localhost:61616,tcp://localhost:61626)");for (int i = 0; i < 50; i++) {log.info("Establishing connection");// Create a ConnectionConnection connection = connectionFactory.createConnection();connection.start();log.info("Connection established");// Create a SessionSession session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);// Create the destination (Topic or Queue)Destination destination = session.createQueue("TEST.FOO");// Create a MessageProducer from the Session to the Topic or QueueMessageProducer producer = session.createProducer(destination);producer.setDeliveryMode(DeliveryMode.PERSISTENT);// Create a messagesString text = "Message Counter : " + i;TextMessage message = session.createTextMessage(text);log.info("Sending message : " + text);producer.send(message);log.info("Sent message : " + text);// Clean upsession.close();connection.close();Thread.sleep(1000);}} }

    這是我交替關閉幾次broker-1和broker-2時執行的日志。

    2013-07-10 11:26:32 INFO Producer:25 - Establishing connection 2013-07-10 11:26:33 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:26:33 INFO Producer:30 - Connection established 2013-07-10 11:26:33 INFO Producer:47 - Sending message : Message Counter : 0 2013-07-10 11:26:33 INFO Producer:49 - Sent message : Message Counter : 0 2013-07-10 11:26:34 INFO Producer:25 - Establishing connection 2013-07-10 11:26:35 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:26:35 INFO Producer:30 - Connection established 2013-07-10 11:26:35 INFO Producer:47 - Sending message : Message Counter : 1 2013-07-10 11:26:35 INFO Producer:49 - Sent message : Message Counter : 1 2013-07-10 11:26:35 INFO Producer:25 - Establishing connection 2013-07-10 11:26:36 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:26:36 INFO Producer:30 - Connection established 2013-07-10 11:26:36 INFO Producer:47 - Sending message : Message Counter : 2 2013-07-10 11:26:36 INFO Producer:49 - Sent message : Message Counter : 2 2013-07-10 11:26:37 INFO Producer:25 - Establishing connection 2013-07-10 11:26:37 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:26:37 INFO Producer:30 - Connection established 2013-07-10 11:26:37 INFO Producer:47 - Sending message : Message Counter : 3 2013-07-10 11:26:37 INFO Producer:49 - Sent message : Message Counter : 3 2013-07-10 11:26:37 INFO Producer:25 - Establishing connection 2013-07-10 11:26:38 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:26:38 INFO Producer:30 - Connection established 2013-07-10 11:26:38 INFO Producer:47 - Sending message : Message Counter : 4 2013-07-10 11:26:38 INFO Producer:49 - Sent message : Message Counter : 4 2013-07-10 11:26:39 INFO Producer:25 - Establishing connection 2013-07-10 11:26:39 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:26:39 INFO Producer:30 - Connection established 2013-07-10 11:26:39 INFO Producer:47 - Sending message : Message Counter : 5 2013-07-10 11:26:39 INFO Producer:49 - Sent message : Message Counter : 5 2013-07-10 11:26:39 INFO Producer:25 - Establishing connection 2013-07-10 11:26:39 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:26:39 INFO Producer:30 - Connection established 2013-07-10 11:26:39 INFO Producer:47 - Sending message : Message Counter : 6 2013-07-10 11:26:39 INFO Producer:49 - Sent message : Message Counter : 6 2013-07-10 11:26:40 INFO Producer:25 - Establishing connection 2013-07-10 11:26:40 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:26:40 INFO Producer:30 - Connection established 2013-07-10 11:26:40 INFO Producer:47 - Sending message : Message Counter : 7 2013-07-10 11:26:40 INFO Producer:49 - Sent message : Message Counter : 7 2013-07-10 11:26:40 INFO Producer:25 - Establishing connection 2013-07-10 11:26:40 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:26:40 INFO Producer:30 - Connection established 2013-07-10 11:26:40 INFO Producer:47 - Sending message : Message Counter : 8 2013-07-10 11:26:40 INFO Producer:49 - Sent message : Message Counter : 8 2013-07-10 11:26:41 INFO Producer:25 - Establishing connection 2013-07-10 11:26:41 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:26:41 INFO Producer:30 - Connection established 2013-07-10 11:26:41 INFO Producer:47 - Sending message : Message Counter : 9 2013-07-10 11:26:41 INFO Producer:49 - Sent message : Message Counter : 9 2013-07-10 11:26:41 INFO Producer:25 - Establishing connection 2013-07-10 11:26:41 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:26:41 INFO Producer:30 - Connection established 2013-07-10 11:26:41 INFO Producer:47 - Sending message : Message Counter : 10 2013-07-10 11:26:41 INFO Producer:49 - Sent message : Message Counter : 10 2013-07-10 11:26:42 INFO Producer:25 - Establishing connection 2013-07-10 11:26:43 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:26:43 INFO Producer:30 - Connection established 2013-07-10 11:26:43 INFO Producer:47 - Sending message : Message Counter : 11 2013-07-10 11:26:43 INFO Producer:49 - Sent message : Message Counter : 11 2013-07-10 11:26:43 INFO Producer:25 - Establishing connection 2013-07-10 11:26:43 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:26:43 WARN FailoverTransport:255 - Transport (tcp://127.0.0.1:61616) failed, reason: java.net.SocketException: Software caused connection abort: recv failed, attempting to automatically reconnect 2013-07-10 11:26:50 INFO FailoverTransport:1032 - Successfully reconnected to tcp://localhost:61626 2013-07-10 11:26:50 INFO Producer:30 - Connection established 2013-07-10 11:26:50 INFO Producer:47 - Sending message : Message Counter : 12 2013-07-10 11:26:50 INFO Producer:49 - Sent message : Message Counter : 12 2013-07-10 11:26:51 INFO Producer:25 - Establishing connection 2013-07-10 11:26:52 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:26:52 INFO Producer:30 - Connection established 2013-07-10 11:26:52 INFO Producer:47 - Sending message : Message Counter : 13 2013-07-10 11:26:52 INFO Producer:49 - Sent message : Message Counter : 13 2013-07-10 11:26:52 INFO Producer:25 - Establishing connection 2013-07-10 11:26:53 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:26:53 INFO Producer:30 - Connection established 2013-07-10 11:26:53 INFO Producer:47 - Sending message : Message Counter : 14 2013-07-10 11:26:53 INFO Producer:49 - Sent message : Message Counter : 14 2013-07-10 11:26:54 INFO Producer:25 - Establishing connection 2013-07-10 11:26:54 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:26:54 INFO Producer:30 - Connection established 2013-07-10 11:26:54 INFO Producer:47 - Sending message : Message Counter : 15 2013-07-10 11:26:54 INFO Producer:49 - Sent message : Message Counter : 15 2013-07-10 11:26:54 INFO Producer:25 - Establishing connection 2013-07-10 11:26:55 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:26:55 INFO Producer:30 - Connection established 2013-07-10 11:26:55 INFO Producer:47 - Sending message : Message Counter : 16 2013-07-10 11:26:55 INFO Producer:49 - Sent message : Message Counter : 16 2013-07-10 11:26:56 INFO Producer:25 - Establishing connection 2013-07-10 11:26:57 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:26:57 INFO Producer:30 - Connection established 2013-07-10 11:26:57 INFO Producer:47 - Sending message : Message Counter : 17 2013-07-10 11:26:57 INFO Producer:49 - Sent message : Message Counter : 17 2013-07-10 11:26:57 INFO Producer:25 - Establishing connection 2013-07-10 11:26:58 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:26:58 INFO Producer:30 - Connection established 2013-07-10 11:26:58 INFO Producer:47 - Sending message : Message Counter : 18 2013-07-10 11:26:58 INFO Producer:49 - Sent message : Message Counter : 18 2013-07-10 11:26:59 INFO Producer:25 - Establishing connection 2013-07-10 11:26:59 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:26:59 INFO Producer:30 - Connection established 2013-07-10 11:26:59 INFO Producer:47 - Sending message : Message Counter : 19 2013-07-10 11:26:59 INFO Producer:49 - Sent message : Message Counter : 19 2013-07-10 11:26:59 INFO Producer:25 - Establishing connection 2013-07-10 11:26:59 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:26:59 INFO Producer:30 - Connection established 2013-07-10 11:26:59 INFO Producer:47 - Sending message : Message Counter : 20 2013-07-10 11:26:59 INFO Producer:49 - Sent message : Message Counter : 20 2013-07-10 11:27:00 INFO Producer:25 - Establishing connection 2013-07-10 11:27:01 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:01 INFO Producer:30 - Connection established 2013-07-10 11:27:01 INFO Producer:47 - Sending message : Message Counter : 21 2013-07-10 11:27:01 INFO Producer:49 - Sent message : Message Counter : 21 2013-07-10 11:27:01 INFO Producer:25 - Establishing connection 2013-07-10 11:27:01 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:01 INFO Producer:30 - Connection established 2013-07-10 11:27:01 INFO Producer:47 - Sending message : Message Counter : 22 2013-07-10 11:27:01 INFO Producer:49 - Sent message : Message Counter : 22 2013-07-10 11:27:02 INFO Producer:25 - Establishing connection 2013-07-10 11:27:02 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:02 INFO Producer:30 - Connection established 2013-07-10 11:27:02 INFO Producer:47 - Sending message : Message Counter : 23 2013-07-10 11:27:02 INFO Producer:49 - Sent message : Message Counter : 23 2013-07-10 11:27:02 INFO Producer:25 - Establishing connection 2013-07-10 11:27:02 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:02 INFO Producer:30 - Connection established 2013-07-10 11:27:02 INFO Producer:47 - Sending message : Message Counter : 24 2013-07-10 11:27:02 INFO Producer:49 - Sent message : Message Counter : 24 2013-07-10 11:27:03 INFO Producer:25 - Establishing connection 2013-07-10 11:27:03 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:03 INFO Producer:30 - Connection established 2013-07-10 11:27:03 INFO Producer:47 - Sending message : Message Counter : 25 2013-07-10 11:27:03 INFO Producer:49 - Sent message : Message Counter : 25 2013-07-10 11:27:03 INFO Producer:25 - Establishing connection 2013-07-10 11:27:03 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:03 INFO Producer:30 - Connection established 2013-07-10 11:27:03 INFO Producer:47 - Sending message : Message Counter : 26 2013-07-10 11:27:03 INFO Producer:49 - Sent message : Message Counter : 26 2013-07-10 11:27:04 INFO Producer:25 - Establishing connection 2013-07-10 11:27:04 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:06 WARN FailoverTransport:255 - Transport (tcp://127.0.0.1:61626) failed, reason: java.net.SocketException: Software caused connection abort: recv failed, attempting to automatically reconnect 2013-07-10 11:27:15 INFO FailoverTransport:1032 - Successfully reconnected to tcp://localhost:61616 2013-07-10 11:27:15 INFO Producer:30 - Connection established 2013-07-10 11:27:15 INFO Producer:47 - Sending message : Message Counter : 27 2013-07-10 11:27:15 INFO Producer:49 - Sent message : Message Counter : 27 2013-07-10 11:27:16 INFO Producer:25 - Establishing connection 2013-07-10 11:27:17 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:27:17 INFO Producer:30 - Connection established 2013-07-10 11:27:17 INFO Producer:47 - Sending message : Message Counter : 28 2013-07-10 11:27:17 INFO Producer:49 - Sent message : Message Counter : 28 2013-07-10 11:27:17 INFO Producer:25 - Establishing connection 2013-07-10 11:27:18 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:27:18 INFO Producer:30 - Connection established 2013-07-10 11:27:18 INFO Producer:47 - Sending message : Message Counter : 29 2013-07-10 11:27:18 INFO Producer:49 - Sent message : Message Counter : 29 2013-07-10 11:27:19 INFO Producer:25 - Establishing connection 2013-07-10 11:27:20 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:27:20 INFO Producer:30 - Connection established 2013-07-10 11:27:20 INFO Producer:47 - Sending message : Message Counter : 30 2013-07-10 11:27:20 INFO Producer:49 - Sent message : Message Counter : 30 2013-07-10 11:27:20 INFO Producer:25 - Establishing connection 2013-07-10 11:27:20 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:27:20 INFO Producer:30 - Connection established 2013-07-10 11:27:20 INFO Producer:47 - Sending message : Message Counter : 31 2013-07-10 11:27:20 INFO Producer:49 - Sent message : Message Counter : 31 2013-07-10 11:27:21 INFO Producer:25 - Establishing connection 2013-07-10 11:27:22 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:27:22 INFO Producer:30 - Connection established 2013-07-10 11:27:22 INFO Producer:47 - Sending message : Message Counter : 32 2013-07-10 11:27:22 INFO Producer:49 - Sent message : Message Counter : 32 2013-07-10 11:27:22 INFO Producer:25 - Establishing connection 2013-07-10 11:27:22 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:27:22 INFO Producer:30 - Connection established 2013-07-10 11:27:22 INFO Producer:47 - Sending message : Message Counter : 33 2013-07-10 11:27:22 INFO Producer:49 - Sent message : Message Counter : 33 2013-07-10 11:27:23 INFO Producer:25 - Establishing connection 2013-07-10 11:27:23 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:27:23 INFO Producer:30 - Connection established 2013-07-10 11:27:23 INFO Producer:47 - Sending message : Message Counter : 34 2013-07-10 11:27:23 INFO Producer:49 - Sent message : Message Counter : 34 2013-07-10 11:27:23 INFO Producer:25 - Establishing connection 2013-07-10 11:27:24 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:27:24 INFO Producer:30 - Connection established 2013-07-10 11:27:24 INFO Producer:47 - Sending message : Message Counter : 35 2013-07-10 11:27:24 INFO Producer:49 - Sent message : Message Counter : 35 2013-07-10 11:27:25 INFO Producer:25 - Establishing connection 2013-07-10 11:27:27 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:27:27 INFO Producer:30 - Connection established 2013-07-10 11:27:27 INFO Producer:47 - Sending message : Message Counter : 36 2013-07-10 11:27:27 INFO Producer:49 - Sent message : Message Counter : 36 2013-07-10 11:27:27 INFO Producer:25 - Establishing connection 2013-07-10 11:27:28 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:27:28 INFO Producer:30 - Connection established 2013-07-10 11:27:28 INFO Producer:47 - Sending message : Message Counter : 37 2013-07-10 11:27:28 INFO Producer:49 - Sent message : Message Counter : 37 2013-07-10 11:27:29 INFO Producer:25 - Establishing connection 2013-07-10 11:27:30 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:27:30 INFO Producer:30 - Connection established 2013-07-10 11:27:30 INFO Producer:47 - Sending message : Message Counter : 38 2013-07-10 11:27:30 INFO Producer:49 - Sent message : Message Counter : 38 2013-07-10 11:27:30 INFO Producer:25 - Establishing connection 2013-07-10 11:27:31 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:27:33 WARN FailoverTransport:255 - Transport (tcp://127.0.0.1:61616) failed, reason: java.net.SocketException: Software caused connection abort: recv failed, attempting to automatically reconnect 2013-07-10 11:27:38 INFO FailoverTransport:1032 - Successfully reconnected to tcp://localhost:61626 2013-07-10 11:27:38 INFO Producer:30 - Connection established 2013-07-10 11:27:38 INFO Producer:47 - Sending message : Message Counter : 39 2013-07-10 11:27:38 INFO Producer:49 - Sent message : Message Counter : 39 2013-07-10 11:27:39 INFO Producer:25 - Establishing connection 2013-07-10 11:27:39 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:39 INFO Producer:30 - Connection established 2013-07-10 11:27:39 INFO Producer:47 - Sending message : Message Counter : 40 2013-07-10 11:27:39 INFO Producer:49 - Sent message : Message Counter : 40 2013-07-10 11:27:39 INFO Producer:25 - Establishing connection 2013-07-10 11:27:40 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:40 INFO Producer:30 - Connection established 2013-07-10 11:27:40 INFO Producer:47 - Sending message : Message Counter : 41 2013-07-10 11:27:40 INFO Producer:49 - Sent message : Message Counter : 41 2013-07-10 11:27:41 INFO Producer:25 - Establishing connection 2013-07-10 11:27:42 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:42 INFO Producer:30 - Connection established 2013-07-10 11:27:42 INFO Producer:47 - Sending message : Message Counter : 42 2013-07-10 11:27:42 INFO Producer:49 - Sent message : Message Counter : 42 2013-07-10 11:27:42 INFO Producer:25 - Establishing connection 2013-07-10 11:27:42 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:42 INFO Producer:30 - Connection established 2013-07-10 11:27:42 INFO Producer:47 - Sending message : Message Counter : 43 2013-07-10 11:27:42 INFO Producer:49 - Sent message : Message Counter : 43 2013-07-10 11:27:43 INFO Producer:25 - Establishing connection 2013-07-10 11:27:44 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:44 INFO Producer:30 - Connection established 2013-07-10 11:27:44 INFO Producer:47 - Sending message : Message Counter : 44 2013-07-10 11:27:44 INFO Producer:49 - Sent message : Message Counter : 44 2013-07-10 11:27:44 INFO Producer:25 - Establishing connection 2013-07-10 11:27:45 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:45 INFO Producer:30 - Connection established 2013-07-10 11:27:45 INFO Producer:47 - Sending message : Message Counter : 45 2013-07-10 11:27:45 INFO Producer:49 - Sent message : Message Counter : 45 2013-07-10 11:27:46 INFO Producer:25 - Establishing connection 2013-07-10 11:27:47 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:47 INFO Producer:30 - Connection established 2013-07-10 11:27:47 INFO Producer:47 - Sending message : Message Counter : 46 2013-07-10 11:27:47 INFO Producer:49 - Sent message : Message Counter : 46 2013-07-10 11:27:48 INFO Producer:25 - Establishing connection 2013-07-10 11:27:48 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:48 INFO Producer:30 - Connection established 2013-07-10 11:27:48 INFO Producer:47 - Sending message : Message Counter : 47 2013-07-10 11:27:48 INFO Producer:49 - Sent message : Message Counter : 47 2013-07-10 11:27:48 INFO Producer:25 - Establishing connection 2013-07-10 11:27:49 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:49 INFO Producer:30 - Connection established 2013-07-10 11:27:49 INFO Producer:47 - Sending message : Message Counter : 48 2013-07-10 11:27:49 INFO Producer:49 - Sent message : Message Counter : 48 2013-07-10 11:27:50 INFO Producer:25 - Establishing connection 2013-07-10 11:27:51 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61626 2013-07-10 11:27:51 INFO Producer:30 - Connection established 2013-07-10 11:27:51 INFO Producer:47 - Sending message : Message Counter : 49 2013-07-10 11:27:51 INFO Producer:49 - Sent message : Message Counter : 49

    這是Web控制臺,顯示排隊的50條消息。

    請勿在上面的屏幕截圖中困擾#Messages Enqueued = 0。 此計數表示自此節點啟動以來已排隊的消息數。 由于我已經在50條消息入隊后重新啟動了該節點,因此計數顯示為0。

    現在讓我們嘗試使用異步使用者使用這些消息,這些使用者使用帶有故障轉移協議的ActiveMQ連接工廠。

    這是使用故障轉移協議的ActiveMQConnectionFactory的簡單異步使用者。

    package com.akuntamukkala.amqms;import javax.jms.Connection; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageConsumer; import javax.jms.MessageListener; import javax.jms.Session; import javax.jms.TextMessage;import org.apache.activemq.ActiveMQConnectionFactory; import org.apache.log4j.Logger;public class Consumer implements MessageListener {private static final Logger log = Logger.getLogger(Consumer.class);public static void main(String[] args) throws Exception {ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("failover:(tcp://localhost:61616,tcp://localhost:61626)");// Create a ConnectionConnection connection = connectionFactory.createConnection();connection.start();// Create a SessionSession session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);// Create the destination (Topic or Queue)Destination destination = session.createQueue("TEST.FOO");// Create a MessageConsumer from the Session to the QueueMessageConsumer consumer = session.createConsumer(destination);consumer.setMessageListener(new Consumer()); // asynchronous listenerThread.sleep(120000); // long wait to keep program runningconsumer.close();session.close();connection.close();}/*** asynchronous message listener*/public void onMessage(Message message) {try {log.info(((TextMessage) message).getText());Thread.sleep(500);} catch (JMSException e) {log.error(e);} catch (InterruptedException e) {log.error(e);}}}

    這是執行的日志。 我在日志中明顯地切換了主節點幾次。

    2013-07-10 11:46:01 INFO FailoverTransport:1030 - Successfully connected to tcp://localhost:61616 2013-07-10 11:46:01 INFO Consumer:49 - Message Counter : 0 2013-07-10 11:46:02 INFO Consumer:49 - Message Counter : 1 2013-07-10 11:46:02 INFO Consumer:49 - Message Counter : 2 2013-07-10 11:46:03 INFO Consumer:49 - Message Counter : 3 2013-07-10 11:46:03 INFO Consumer:49 - Message Counter : 4 2013-07-10 11:46:04 INFO Consumer:49 - Message Counter : 5 2013-07-10 11:46:04 INFO Consumer:49 - Message Counter : 6 2013-07-10 11:46:05 INFO Consumer:49 - Message Counter : 7 2013-07-10 11:46:05 INFO Consumer:49 - Message Counter : 8 2013-07-10 11:46:06 INFO Consumer:49 - Message Counter : 9 2013-07-10 11:46:06 INFO Consumer:49 - Message Counter : 10 2013-07-10 11:46:07 INFO Consumer:49 - Message Counter : 11 2013-07-10 11:46:07 WARN FailoverTransport:255 - Transport (tcp://127.0.0.1:61616) failed, reason: java.io.EOFException, attempting to automatically reconnect 2013-07-10 11:46:18 INFO FailoverTransport:1032 - Successfully reconnected to tcp://localhost:61626 2013-07-10 11:46:18 WARN ActiveMQMessageConsumer:1348 - Duplicate dispatch on connection: ID:AKUNTAMU-1-2141-1373474760280-1:1 to consumer: ID:AKUNTAMU-1-2141-1373474760280-1:1:1:1, ignoring (auto acking) duplicate: MessageDispatch {commandId = 0, responseRequired = false, consumerId = ID:AKUNTAMU-1-2141-1373474760280-1:1:1:1, destination = queue://TEST.FOO, message = ActiveMQTextMessage {commandId = 5, responseRequired = true, messageId = ID:AKUNTAMU-1-1739-1373473592152-1:12:1:1:1, originalDestination = null, originalTransactionId = null, producerId = ID:AKUNTAMU-1-1739-1373473592152-1:12:1:1, destination = queue://TEST.FOO, transactionId = null, expiration = 0, timestamp = 1373473603281, arrival = 0, brokerInTime = 1373473603281, brokerOutTime = 1373474778676, correlationId = null, replyTo = null, persistent = true, type = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = null, marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size = 0, properties = null, readOnlyProperties = true, readOnlyBody = true, droppable = false, text = Message Counter : 11}, redeliveryCounter = 0} 2013-07-10 11:46:18 INFO Consumer:49 - Message Counter : 12 2013-07-10 11:46:19 INFO Consumer:49 - Message Counter : 13 2013-07-10 11:46:19 INFO Consumer:49 - Message Counter : 14 2013-07-10 11:46:20 INFO Consumer:49 - Message Counter : 15 2013-07-10 11:46:20 INFO Consumer:49 - Message Counter : 16 2013-07-10 11:46:21 INFO Consumer:49 - Message Counter : 17 2013-07-10 11:46:21 INFO Consumer:49 - Message Counter : 18 2013-07-10 11:46:22 INFO Consumer:49 - Message Counter : 19 2013-07-10 11:46:22 INFO Consumer:49 - Message Counter : 20 2013-07-10 11:46:23 INFO Consumer:49 - Message Counter : 21 2013-07-10 11:46:23 INFO Consumer:49 - Message Counter : 22 2013-07-10 11:46:24 INFO Consumer:49 - Message Counter : 23 2013-07-10 11:46:24 INFO Consumer:49 - Message Counter : 24 2013-07-10 11:46:25 INFO Consumer:49 - Message Counter : 25 2013-07-10 11:46:25 INFO Consumer:49 - Message Counter : 26 2013-07-10 11:46:26 INFO Consumer:49 - Message Counter : 27 2013-07-10 11:46:26 INFO Consumer:49 - Message Counter : 28 2013-07-10 11:46:27 INFO Consumer:49 - Message Counter : 29 2013-07-10 11:46:27 INFO Consumer:49 - Message Counter : 30 2013-07-10 11:46:28 INFO Consumer:49 - Message Counter : 31 2013-07-10 11:46:28 INFO Consumer:49 - Message Counter : 32 2013-07-10 11:46:29 INFO Consumer:49 - Message Counter : 33 2013-07-10 11:46:29 INFO Consumer:49 - Message Counter : 34 2013-07-10 11:46:30 INFO Consumer:49 - Message Counter : 35 2013-07-10 11:46:30 INFO Consumer:49 - Message Counter : 36 2013-07-10 11:46:31 INFO Consumer:49 - Message Counter : 37 2013-07-10 11:46:31 INFO Consumer:49 - Message Counter : 38 2013-07-10 11:46:32 INFO Consumer:49 - Message Counter : 39 2013-07-10 11:46:32 WARN FailoverTransport:255 - Transport (tcp://127.0.0.1:61626) failed, reason: java.io.EOFException, attempting to automatically reconnect 2013-07-10 11:46:43 INFO FailoverTransport:1032 - Successfully reconnected to tcp://localhost:61616 2013-07-10 11:46:43 WARN ActiveMQMessageConsumer:1348 - Duplicate dispatch on connection: ID:AKUNTAMU-1-2141-1373474760280-1:1 to consumer: ID:AKUNTAMU-1-2141-1373474760280-1:1:1:1, ignoring (auto acking) duplicate: MessageDispatch {commandId = 0, responseRequired = false, consumerId = ID:AKUNTAMU-1-2141-1373474760280-1:1:1:1, destination = queue://TEST.FOO, message = ActiveMQTextMessage {commandId = 5, responseRequired = true, messageId = ID:AKUNTAMU-1-1739-1373473592152-1:40:1:1:1, originalDestination = null, originalTransactionId = null, producerId = ID:AKUNTAMU-1-1739-1373473592152-1:40:1:1, destination = queue://TEST.FOO, transactionId = null, expiration = 0, timestamp = 1373473658595, arrival = 0, brokerInTime = 1373473658599, brokerOutTime = 1373474803745, correlationId = null, replyTo = null, persistent = true, type = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = null, marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size = 0, properties = null, readOnlyProperties = true, readOnlyBody = true, droppable = false, text = Message Counter : 39}, redeliveryCounter = 0} 2013-07-10 11:46:43 INFO Consumer:49 - Message Counter : 40 2013-07-10 11:46:44 INFO Consumer:49 - Message Counter : 41 2013-07-10 11:46:44 INFO Consumer:49 - Message Counter : 42 2013-07-10 11:46:45 INFO Consumer:49 - Message Counter : 43 2013-07-10 11:46:45 INFO Consumer:49 - Message Counter : 44 2013-07-10 11:46:46 INFO Consumer:49 - Message Counter : 45 2013-07-10 11:46:46 INFO Consumer:49 - Message Counter : 46 2013-07-10 11:46:47 INFO Consumer:49 - Message Counter : 47 2013-07-10 11:46:47 INFO Consumer:49 - Message Counter : 48 2013-07-10 11:46:48 INFO Consumer:49 - Message Counter : 49

    我們來看看ActiveMQ Web控制臺:

    您可能會發現#出隊消息= 11非常有趣。 這是自當前ActiveMQ主節點啟動以來已出隊的消息數。

    結論

    因此,我們看到了以下情況:

  • 在具有共享的基于KahaDB文件的數據庫的主/從配置中運行2個ActiveMQ節點。
  • 將托管在Tomcat實例中的ActiveMQ Web控制臺配置為指向群集中的哪個節點為主節點
  • 故障轉移方案
  • 故障轉移忽略的消息發布者和使用者行為
  • 在以后的博客中,我將發布一些其他有趣的ActiveMQ配置。 敬請關注。

    ActiveMQ'ing快樂!

    資源:

  • http://activemq.apache.org/
  • http://www.jakubkorab.net/category/technology/activemq
  • 翻譯自: https://www.javacodegeeks.com/2014/04/using-activemq-masterslave-configuration-with-failover-protocol.html

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的使用ActiveMQ –具有故障转移协议的“主/从”配置的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    中文字幕一区二区三区在线观看 | 国产精品成人免费一区久久羞羞 | 91在线区 | 久久一区国产 | 欧美片一区二区三区 | 草久热 | 国产香蕉视频在线播放 | 91综合视频在线观看 | 久久经典视频 | 97超碰国产精品女人人人爽 | 91人人视频在线观看 | 97天堂| 国产精品12345| 久久亚洲专区 | 午夜视频99| 亚洲成av人影院 | 国产精品美女久久久 | 亚洲精品成人网 | 在线观看av的网站 | 国产美女无遮挡永久免费 | 国产精品高清免费在线观看 | 免费麻豆 | 成人黄色电影免费观看 | 久久视频 | 国产精品综合久久久 | 91精品国产91久久久久久三级 | 啪嗒啪嗒免费观看完整版 | 亚洲天天摸日日摸天天欢 | 日韩字幕| 免费在线观看一区二区三区 | 久久高清国产视频 | 制服丝袜在线 | 2024国产精品视频 | 国产在线视频导航 | 96亚洲精品久久久蜜桃 | 99热精品久久| 国产精品视频在线观看 | 日本中文字幕久久 | 特级毛片在线免费观看 | 丁香六月婷婷开心 | 婷婷综合国产 | 中文乱幕日产无线码1区 | 99r精品视频在线观看 | 国产小视频网站 | 国产精品麻豆视频 | 在线不卡视频 | 亚洲人成网站精品片在线观看 | 激情五月在线视频 | 在线观看日韩一区 | 久视频在线播放 | 爱射综合 | 综合国产在线观看 | 日韩一区二区三免费高清在线观看 | 国产精品成人一区二区 | 一区二区三区www | 丁香影院在线 | 一区二区三区在线观看中文字幕 | 一区二区中文字幕在线 | 69久久夜色精品国产69 | 欧美精品在线免费 | 日本深夜福利视频 | 在线 你懂| 天天干夜夜擦 | 国产精品99久久久久久人免费 | 激情五月婷婷 | 日韩精品欧美精品 | 国产福利免费在线观看 | 在线黄色av| 久久手机免费观看 | 一区二区精品在线 | www.天天操| 深夜国产在线 | 精品一二三四视频 | 99久久er热在这里只有精品15 | 日韩动漫免费观看高清完整版在线观看 | 亚洲激情影院 | 久草国产精品 | 99欧美| 国产人成免费视频 | 色综合欧洲 | 日韩免费电影一区二区三区 | 国产精品久久久久婷婷 | 青春草视频在线播放 | 91视频免费看网站 | 国产乱码精品一区二区三区介绍 | 黄色网在线播放 | 91片网| 美女精品 | 国产亚洲精品久久久久秋 | 少妇精69xxtheporn | 91亚洲影院 | 成人理论电影 | 日韩美在线 | 中文字幕一区二区三区乱码在线 | 欧美综合在线视频 | 粉嫩av一区二区三区免费 | 国产精品网址在线观看 | 色网站中文字幕 | 国产精品免费久久久久影院仙踪林 | 97人人澡人人爽人人模亚洲 | 97电影院网| 午夜国产一区 | 国产精品美女久久久网av | av在观看 | 成人免费毛片aaaaaa片 | 亚洲精品字幕 | 亚洲欧洲日韩 | 国产精品videoxxxx | 久久国产麻豆 | 少妇资源站 | www欧美xxxx| 成人中心免费视频 | 中文字幕观看视频 | 精品一区精品二区高清 | 欧美精品一区在线发布 | 国产精品一区免费看8c0m | 久久成人国产精品一区二区 | 韩国精品在线观看 | 成人禁用看黄a在线 | 欧美日韩精品免费观看视频 | 精品久久五月天 | 亚洲精品在线观 | 日本大片免费观看在线 | av3级在线| 久草精品电影 | 久久成人精品电影 | 五月天网页 | 日韩中文字幕在线不卡 | 精品久久久99 | av中文字幕网站 | 久久精品成人 | 亚洲国产中文字幕在线观看 | 色午夜 | 久久国产精品影片 | 人人爽人人爱 | 激情欧美xxxx | 亚洲国产精品久久久久 | 色狠狠综合天天综合综合 | 伊人伊成久久人综合网站 | 在线免费观看视频a | 99久久综合精品五月天 | 亚洲精品mv在线观看 | 蜜桃视频精品 | 国产九色91| 色香蕉在线视频 | 免费性网站 | 五月婷婷丁香色 | 91网站在线视频 | 免费福利在线 | 日韩一区在线播放 | 国产一卡在线 | 亚洲精品视频在线播放 | 国产男女免费完整视频 | 国产精品一区二区三区久久久 | 日本中文字幕视频 | 成人黄色电影免费观看 | 久久tv| 久久久色| 欧美精品一二 | 日日夜夜噜噜噜 | 草在线视频 | 在线观看视频h | 高清av网 | 欧美日韩在线观看一区 | 免费看黄20分钟 | 久久视频这里只有精品 | 亚洲精品麻豆 | 国产成人免费精品 | 天天干天天干天天干天天干天天干天天干 | 日韩网站免费观看 | 日韩在线无 | 天天做天天爱夜夜爽 | 麻豆91网站 | 一区二区三区在线免费播放 | 色妞色视频一区二区三区四区 | 96精品视频 | 91九色成人| 亚洲三级毛片 | 国产精品视屏 | 免费视频一级片 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 91污污 | 国产最新在线观看 | 国产精品 999| 日韩网站在线观看 | 国产精品白虎 | 国产精品久久久久999 | 国产精品自在线 | 偷拍精品一区二区三区 | 成人免费一级 | 国产男女无遮挡猛进猛出在线观看 | 久草在线最新视频 | www.五月天 | 麻豆传媒一区二区 | 久久成年人视频 | 五月婷婷在线观看视频 | 伊人成人精品 | 国产在线免费 | 国产视频1 | 麻豆 videos | 天天操天天射天天爽 | 亚洲a色 | 激情丁香综合五月 | 午夜久久福利视频 | 黄色毛片在线看 | 国产精品一二 | 天天干天天射天天操 | 福利电影一区二区 | 日韩欧美一区二区在线 | 亚洲va欧美va| 不卡电影免费在线播放一区 | 中文有码在线 | 亚洲 欧洲 国产 日本 综合 | 国产精品久久99综合免费观看尤物 | 91亚洲狠狠婷婷综合久久久 | 五月天激情视频在线观看 | 97电影在线看视频 | 亚洲男人天堂2018 | 成人精品在线 | 国产精品18久久久久久久网站 | 成人毛片一区二区三区 | 久久黄色网页 | 天天爽夜夜爽人人爽曰av | 国产在线观看91 | 精品福利av | 久草av在线播放 | 欧美精品日韩 | 六月丁香综合 | 91香蕉视频黄色 | 天天操天天色天天 | 亚洲欧美婷婷六月色综合 | 91久久久久久久一区二区 | 日日日操操 | 国产一区二区电影在线观看 | 丁香六月国产 | 国产不卡高清 | 高清av中文在线字幕观看1 | 婷婷福利影院 | 在线观看黄网站 | adc在线观看 | 日本护士三级少妇三级999 | 国产高清中文字幕 | 黄色日本免费 | 欧美黄在线 | 国产一区在线观看视频 | 久久少妇av | 中文字幕久久精品一区 | 黄色小说免费观看 | 99热官网 | 久久久精品 一区二区三区 国产99视频在线观看 | 夜夜澡人模人人添人人看 | 97色涩 | 亚洲不卡在线 | 久久久国产毛片 | 久久精品成人热国产成 | 国产精品免费看 | 亚洲精品乱码久久久久久写真 | 成人av在线电影 | 亚洲国产片 | 亚洲电影在线看 | 成人久久免费视频 | 99热这里只有精品在线观看 | 亚洲欧洲一级 | 啪一啪在线| 亚州国产精品视频 | 国产成人福利在线观看 | 伊人婷婷色 | 天天插夜夜操 | 六月色丁香 | 国产精品久久久久久久久久久久午夜 | 91精品电影 | 国产毛片久久 | 国产高清视频在线播放 | 在线看中文字幕 | www黄色 | 国产精品自产拍 | av福利网址导航大全 | 免费看黄视频 | 欧美巨大 | 天天综合亚洲 | 久久久综合精品 | 欧美性极品xxxx做受 | 日本h视频在线观看 | 久久成年人网站 | 国内小视频 | 少妇精69xxtheporn | 亚洲精品午夜aaa久久久 | 日韩网站在线免费观看 | 国产小视频在线免费观看视频 | av丝袜美腿 | 亚洲 欧美 另类人妖 | 国产糖心vlog在线观看 | 九月婷婷人人澡人人添人人爽 | 天天做天天爱天天爽综合网 | 最近字幕在线观看第一季 | 婷婷激情在线观看 | 久久久这里有精品 | 成人免费视频播放 | 久亚洲 | 色视频在线观看免费 | 国产精品手机在线 | 亚洲国产精品第一区二区 | 激情五月五月婷婷 | 久久久久网址 | 在线免费观看国产黄色 | 久久久久久免费视频 | 久久激五月天综合精品 | 在线韩国电影免费观影完整版 | 天天操天天操一操 | 免费观看日韩 | 国产成人精品一区二区三区福利 | 久久久久久国产精品 | 免费a视频 | 伊人久操| 久久影院中文字幕 | 国产清纯在线 | 久久综合狠狠综合久久激情 | 国产午夜一区二区 | 九九有精品| 在线看免费| 国产福利精品一区二区 | 成年人电影免费看 | 国产视频1区2区3区 久久夜视频 | 久久久久国产一区二区三区四区 | 中文一二区 | 国产精品九九九九九 | 在线国产中文字幕 | 欧美一区二视频在线免费观看 | 日韩精品影视 | 91麻豆精品91久久久久同性 | 日韩精品久久久久久久电影竹菊 | 国产福利一区二区三区视频 | 国产欧美在线一区二区三区 | 久草在线视频资源 | 美女视频一区 | 91精品夜夜 | 在线成人免费电影 | 亚洲精品综合欧美二区变态 | 婷婷午夜 | 五月婷婷网站 | 91视频亚洲| 日本黄色a级大片 | 久99久在线视频 | 69夜色精品国产69乱 | 成人精品影视 | 97超碰色| 波多野结衣日韩 | 激情综合网色播五月 | 日日夜精品 | 亚洲九九九 | 亚洲精选在线观看 | 久久久久久久久久久成人 | 日韩在线视频看看 | 人人爽人人爽 | 狠狠操电影网 | 久久99欧美 | 欧洲精品二区 | 91久久丝袜国产露脸动漫 | 亚洲成人网av| 国产精品麻豆视频 | 婷婷色九月 | 免费精品人在线二线三线 | 国产麻豆精品久久 | 九色91在线| 久久综合狠狠综合久久激情 | 成人午夜影院在线观看 | 日韩亚洲欧美中文字幕 | 91国内产香蕉 | 成人免费观看完整版电影 | 日韩婷婷 | 狠狠亚洲 | 91精品综合在线观看 | 亚洲人成人99网站 | 视频99爱 | 国产福利一区在线观看 | 日本在线中文 | 国产视频在线观看一区 | 欧美日韩三区二区 | www.av中文字幕.com | 精品爱爱 | 99资源网 | 国产精品入口传媒 | 中文字幕在线观看的网站 | 久久午夜电影 | 91视频在线免费 | 国产久草在线观看 | 国产视频999| 国产精品中文久久久久久久 | 欧美91视频 | 久久久观看 | 亚洲综合一区二区精品导航 | 一区二区三区四区免费视频 | 伊人天天狠天天添日日拍 | 日韩特级片 | 久草免费新视频 | 午夜国产一区二区三区四区 | 成人av一区二区兰花在线播放 | 亚洲综合视频在线 | 丁香五婷 | 成人黄色影片在线 | 国产精品日韩在线观看 | 在线国产一区二区三区 | 日韩欧美视频一区 | 国产伦精品一区二区三区无广告 | 99热精品国产一区二区在线观看 | 涩涩伊人 | 欧美一区,二区 | 在线性视频日韩欧美 | 人人添人人澡人人澡人人人爽 | 2019免费中文字幕 | 最新av在线播放 | www激情久久 | 在线观看国产日韩欧美 | 国产精品日韩久久久久 | 欧美一区日韩精品 | 天天干天天干天天操 | 九色精品 | 91毛片在线观看 | 免费视频a | 在线免费观看视频一区二区三区 | 99av国产精品欲麻豆 | 日韩精品五月天 | 人人爱人人爽 | 成年人在线观看免费视频 | 99草视频 | 国产美女被啪进深处喷白浆视频 | 欧美激情在线看 | 97精品国产97久久久久久粉红 | 日韩免费在线观看网站 | 91理论电影 | av短片在线 | 日日精品 | 久久综合久久综合这里只有精品 | 欧美色图30p | 中日韩欧美精彩视频 | 欧美午夜寂寞影院 | 久久99精品久久久久久秒播蜜臀 | 亚洲成熟女人毛片在线 | 在线高清一区 | 97碰碰精品嫩模在线播放 | 久久激情视频 久久 | 久99久中文字幕在线 | 丝袜制服天堂 | 中文字幕在线一二 | 天天爽天天爽 | www色com | 国产亚洲欧美在线视频 | 一区二区三区 亚洲 | 国产美女视频免费 | 六月丁香婷| 国产精品成人久久 | 成人黄色在线看 | 久av电影 | 91污在线观看 | 日韩免费在线观看视频 | 少妇bbbb | 久久综合中文字幕 | 97超碰精品 | 国产精品久久久久9999吃药 | 国产福利一区在线观看 | 免费精品人在线二线三线 | 免费三级大片 | 国产艹b视频 | 久久精品美女 | 欧美日韩网站 | 婷婷激情在线观看 | 国内精品久久天天躁人人爽 | 国产五月婷 | 成全免费观看视频 | 亚洲电影黄色 | 日本久久久亚洲精品 | 一区二区三区污 | 中文字幕在线观看一区二区 | 五月激情片| 欧美激情第八页 | 免费视频久久久 | 国产在线探花 | 亚洲免费av在线 | 91高清不卡 | 夜色.com| 97碰碰视频 | 国产字幕在线观看 | 欧美一区二区三区在线观看 | 玖玖色在线观看 | 天天色天天射综合网 | 欧美精品被 | 日本韩国精品一区二区在线观看 | 成人黄色片免费 | 免费在线观看的av网站 | 在线欧美最极品的av | 国产精品精品 | 美女久久久久久久 | 久久免费精彩视频 | 欧美不卡视频在线 | 国产精品剧情在线亚洲 | 日韩在线观看高清 | 日日操日日插 | 国产精品二区三区 | 2024国产精品视频 | 国产一二区视频 | 国产原创在线视频 | 国产九九九精品视频 | 亚洲色图激情文学 | 成年人免费在线观看 | 激情在线网站 | 欧美一级黄色视屏 | 亚洲男模gay裸体gay | 国产黄色美女 | 在线激情av电影 | 免费观看完整版无人区 | 在线观看视频99 | 高清不卡毛片 | 国产视频一区二区三区在线 | 99在线热播精品免费 | 8x成人免费视频 | 成人在线免费视频 | 午夜久久福利 | 欧美在线观看小视频 | 欧美成人性战久久 | 成人av免费电影 | 激情欧美一区二区免费视频 | 国产 日韩 欧美 中文 在线播放 | 麻豆系列在线观看 | 久久精品视频网 | 久久精品中文字幕一区二区三区 | 欧美一区二区三区激情视频 | 久久精彩视频 | www.色就是色 | 亚洲欧美视频一区二区三区 | 91九色视频国产 | 亚洲久久视频 | 成人在线视频免费观看 | 中文字幕在线免费观看视频 | 亚洲精品国产拍在线 | 九九热免费在线视频 | 99视频一区二区 | 欧美 日韩 国产 成人 在线 | 国内亚洲精品 | 天天拍天天干 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 日韩伦理片一区二区三区 | 中文字幕av电影下载 | 亚洲欧美视频网站 | 九九在线国产视频 | 久久这里只有精品视频99 | 亚洲黄色成人 | av色一区 | 国产剧情在线一区 | 国产精品久久麻豆 | 日韩伦理片hd | 午夜精品久久久久久久久久久久 | 视频91在线 | 免费在线一区二区 | 国产视频亚洲精品 | 国产精品麻豆欧美日韩ww | 天天视频亚洲 | av观看久久久 | 久草在线视频首页 | 久久精品久久精品 | 精品一区二区久久久久久久网站 | 免费看国产精品 | 精品一区二区在线看 | 国产黄a三级三级 | 精品国产一区二区三区久久久蜜臀 | 看片的网址 | 狠狠干网址| 欧美在线视频一区二区三区 | 日韩av成人在线观看 | 亚洲精选99 | 91精品国产91久久久久 | 国产婷婷视频在线 | 中文字幕a∨在线乱码免费看 | www.天堂av| 成人在线免费观看视视频 | 国产手机视频精品 | 久久久精品一区二区三区 | 日本护士撒尿xxxx18 | 中文字幕在线免费观看 | 成人全视频免费观看在线看 | 热久久视久久精品18亚洲精品 | 777视频在线观看 | 99精品国产99久久久久久97 | 国产免费观看av | 午夜视频免费播放 | 182午夜在线观看 | 亚洲视频中文 | 国产亚州精品视频 | 久久久久欧美精品 | 久热免费在线 | 国产精品久久久久久妇 | 欧美日韩一区二区三区免费视频 | 最新午夜电影 | 9在线观看免费高清完整版在线观看明 | 不卡视频在线看 | 国产在线最新 | 色视频成人在线观看免 | 国产精品美女网站 | a级国产乱理论片在线观看 伊人宗合网 | 亚洲视频免费视频 | 久久久福利 | 精品在线观看一区二区三区 | 草久视频在线观看 | 日日夜夜噜 | 亚洲a资源 | 国产麻豆精品一区 | 久久精品国产一区二区三区 | 人人插人人搞 | 日韩动态视频 | 亚洲va欧美va人人爽春色影视 | 国产精品成人免费精品自在线观看 | 亚洲欧洲一级 | 麻豆视频国产 | 天天干夜夜夜 | 福利网在线 | 麻豆视频免费在线 | 天天操天天添天天吹 | 欧洲一区二区在线观看 | 99热精品在线 | 91高清完整版在线观看 | 欧美成人亚洲成人 | 中文十次啦 | av在线电影免费观看 | 在线精品观看 | 草免费视频 | 91九色在线观看视频 | 九九视频免费在线观看 | 日韩欧美在线第一页 | av大全在线播放 | 婷婷网址 | 国产久草在线观看 | 国产成人一区二区精品非洲 | 中文字幕 第二区 | 国产精品成人自产拍在线观看 | 久久视了| 97超级碰碰| av成人在线观看 | 国产尤物视频在线 | 91视频免费视频 | 欧美一区二区三区免费看 | 成人av一区二区在线观看 | 在线精品在线 | 91成人在线视频观看 | 制服丝袜一区二区 | 色综合久久久久网 | 亚洲视频免费在线观看 | 91mv.cool在线观看 | 婷婷综合久久 | 美女视频是黄的免费观看 | 天天射天天拍 | 久久视频一区 | 亚洲精品国偷自产在线91正片 | 狠狠干网址 | 色多视频在线观看 | 狠狠干五月天 | 日韩电影一区二区三区在线观看 | 九九免费精品 | 四虎伊人| 国产精久久 | 久久免费观看视频 | 日韩欧美一二三 | 日韩欧美在线观看 | 激情视频免费在线 | 麻豆91视频| 中文字幕在线视频网站 | 成年人免费电影 | 三级性生活视频 | 色视频一区 | 日批网站在线观看 | avav片 | 国产精品久久影院 | 久久久久久久久久久久久影院 | 99亚洲精品 | 天天做日日爱夜夜爽 | 狠狠狠狠狠狠狠狠 | 欧美一区二区在线看 | 日韩免费小视频 | 五月激情天 | 欧美日韩视频在线播放 | 亚洲视频久久 | 美女网站在线观看 | 天天干天天干天天干 | av大片网址 | 欧美色综合天天久久综合精品 | 日韩专区视频 | 国产一在线精品一区在线观看 | 精品一区电影国产 | 玖玖玖在线 | 成人av电影在线 | 激情视频国产 | 四虎伊人 | 中文字幕在线看视频国产中文版 | 五月天狠狠操 | 天天操夜夜操 | 免费男女羞羞的视频网站中文字幕 | 五月天com| 欧美日韩国产在线精品 | 国产精品青草综合久久久久99 | 欧洲精品久久久久毛片完整版 | 成年人免费观看在线视频 | 日本精品免费看 | 欧美国产日韩一区 | 久草在线免费在线观看 | 91社区国产高清 | 亚洲一区二区三区精品在线观看 | 久久久国产精品一区二区三区 | 欧美一级艳片视频免费观看 | 日本在线视频一区二区三区 | 日韩久久午夜一级啪啪 | 国产91对白在线 | zzijzzij亚洲日本少妇熟睡 | 国产一区欧美在线 | 国产精品国产毛片 | 天操夜夜操 | 欧美analxxxx | 亚洲天堂网在线视频 | 97**国产露脸精品国产 | 国内精品免费久久影院 | 久久精品女人毛片国产 | 日日操日日插 | 日本精品一区二区三区在线播放视频 | 亚洲成人高清在线 | 国产精品毛片久久久久久久久久99999999 | 成人午夜剧场在线观看 | 一区在线电影 | 色婷婷久久久综合中文字幕 | 欧美国产日韩一区二区三区 | 91av视频网站 | 免费av看片 | 黄色网址av| 天天爱天天操天天射 | 五月开心激情网 | 五月天色中色 | 伊人影院av | 久久国产免费视频 | 久久久国产网站 | 午夜精品中文字幕 | 精品一区二区在线免费观看 | 亚洲欧洲一区二区在线观看 | 69国产盗摄一区二区三区五区 | 国产精品久久9 | 欧美久久久久久久久久久久久 | 四虎国产精品免费观看视频优播 | 欧美精品一区二区免费 | 一级国产视频 | 四虎在线影视 | 成人黄色大片在线免费观看 | 久久精品视频日本 | 国产精品岛国久久久久久久久红粉 | 精品国产一区二区三区免费 | 男女激情免费网站 | 九九久久国产 | 成人毛片久久 | 欧美在线日韩在线 | 91在线产啪 | 在线观看中文字幕第一页 | 免费麻豆网站 | 国产日韩视频在线播放 | 天天干天天拍 | 99久久久久成人国产免费 | 国产一级在线视频 | 成人h动漫精品一区二 | 青青河边草观看完整版高清 | 人人爽人人爽人人片av | 伊人手机在线 | 黄色com| 日韩免费观看一区二区 | 9久久精品| 97色狠狠 | 国产一性一爱一乱一交 | 九九久 | 夜夜骑首页 | 日批视频在线播放 | 人人插人人干 | 色婷久久 | 国产日韩精品一区二区在线观看播放 | www.天堂av | 91成人亚洲| 久久婷婷网 | a级黄色片视频 | 在线成人性视频 | 欧美日韩国产精品一区二区亚洲 | 免费国产在线视频 | 天天综合成人网 | 18国产精品福利片久久婷 | 91看成人 | 69亚洲精品 | 九九导航 | 成人在线观看你懂的 | 日本成人中文字幕在线观看 | 超碰国产在线 | 天天射天天操天天色 | 久久看片网站 | 精品久久久久久国产 | 九九热免费观看 | 在线免费黄色av | 黄色成人av | 97人人添人澡人人爽超碰动图 | 高清免费在线视频 | 国产一区在线看 | 久草免费手机视频 | 毛片.com| 久久99精品一区二区三区三区 | 亚洲另类交 | 91成年视频 | 欧美一级电影在线观看 | 亚洲日日射 | 婷婷av电影 | 久久久久久久久网站 | 国产一区二区在线观看视频 | 91视频-88av| 丰满少妇一级 | 操操操日日日 | 91精品在线免费观看 | 色a网 | 97色涩 | 99热这里是精品 | 性色在线视频 | 狠狠色丁香婷婷综合 | 亚洲精品在线观看av | 99视频精品免费观看, | 天天操导航 | 久久视频精品在线观看 | 国产精品视频免费观看 | avove黑丝| 亚洲男人天堂a | 黄色官网在线观看 | 97国产大学生情侣酒店的特点 | 国产成人av电影 | 美女网站视频免费都是黄 | 午夜少妇一区二区三区 | 久久婷婷国产色一区二区三区 | 99久久激情| 国产视频中文字幕在线观看 | 4p变态网欧美系列 | 久久免费看a级毛毛片 | 久久免费公开视频 | 视频一区二区在线 | 国产成人一区二区在线观看 | 成人久久网 | 日本久久91 | 精品国产理论 | 色婷婷色| 日韩精品免费一区二区 | 精品欧美日韩 | 欧美一区二区免费在线观看 | 人人爽人人澡人人添人人人人 | 国产 字幕 制服 中文 在线 | 久久精品99 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 伊人在线视频 | 黄色毛片视频免费观看中文 | 国产裸体视频网站 | 色婷婷激情电影 | 国产精品视频99 | 久草在线电影网 | 在线看片91 | 日本中文在线观看 | 久久免费视频在线观看6 | 午夜国产在线 | 日韩成人在线一区二区 | 久久久免费 | 久久伊人综合 | 国产拍在线 | 狠狠躁日日躁狂躁夜夜躁av | 久久在线观看视频 | 天天干天天插伊人网 | 国产精品一区二区三区在线看 | 国产网红在线观看 | 亚洲精品88欧美一区二区 | 国产69久久 | 在线免费日韩 | 另类老妇性bbwbbw高清 | 国产精品无 | 91亚洲精品在线 | 日日爱av| 午夜精品一区二区三区在线 | 免费三级网 | 天天操天天操天天干 | 中文字幕在线观看免费 | 亚洲午夜久久久久久久久久久 | av一级久久| 天天色天天射天天干 | 日韩欧美国产精品 | 日韩精品中文字幕在线 | 日韩欧美在线观看一区二区三区 | 色婷婷成人 | av免费试看 | 在线免费日韩 | 欧美一区二区在线免费看 | 99久久精品无免国产免费 | 人人玩人人添人人 | 亚洲aⅴ一区二区三区 | 亚洲视频www | 2022中文字幕在线观看 | 国产一区二区三区 在线 | 久久久久一区二区三区 | 亚洲高清视频在线 | 成人av午夜| 免费精品视频 | 人人澡人人澡人人 | av免费线看 | 欧美亚洲久久 | 日韩成人欧美 | 国产91在线播放 | 美女福利视频在线 | 国产精品视频免费观看 | 中文字幕91| 午夜av在线播放 | 国产精品不卡在线观看 | 国产精品久久久视频 | 97超碰中文字幕 | 黄色在线看网站 | 国产黄大片 | 亚洲欧洲精品视频 | 免费美女av | 午夜电影 电影 | 成人在线一区二区三区 | 免费成人在线观看视频 | 久久免费黄色大片 | 视频在线精品 | 久久超碰97 | 国产69久久 | 久久九九久久 | 久久高清| 日韩在线理论 | 亚洲国产网站 | 波多野结衣电影一区 | 国产69久久久欧美一级 | 亚洲精品午夜久久久久久久久久久 | 超碰夜夜 | 日本在线中文在线 | 久久久.com | 色多多在线观看 | 精品久久久久久久 | 久久高清精品 | 国产黄色免费观看 | 97视频中文字幕 | 天堂网一区二区 | 伊人宗合网 | 色91在线 | 久久精品综合网 | 亚洲成色777777在线观看影院 | www在线免费观看 | 高清一区二区三区 | 四虎在线免费视频 | 福利视频午夜 | 天天爱天天操天天爽 | 成年人在线观看网站 | 中文在线a天堂 | 日日夜夜精品视频天天综合网 | 久久草在线免费 | 五月婷婷视频在线观看 | 在线a人片免费观看视频 | 韩日av一区二区 | 成人久久18免费网站麻豆 | 伊人资源站| 国产一区二区在线播放视频 | 国产艹b视频 | 婷婷久久网站 | 欧美一性一交一乱 | 日韩在线一级 | 中文免费| 人人干人人搞 | 国产成人精品一区二区在线观看 | 日本不卡一区二区 | 九九免费在线观看 | 中文字幕成人网 | av在线之家电影网站 | 国产精品久久久久四虎 | 亚洲国产97在线精品一区 | 欧美xxxxx在线视频 | 亚洲欧洲一区二区在线观看 | 五月婷婷综合激情 | 最近中文字幕mv免费高清在线 | 日韩网站中文字幕 | 久久一区二区三区日韩 | 色综合久久久久网 | 色com| 99视频精品| 激情综合网五月激情 | 午夜精品成人一区二区三区 | 在线播放一区二区三区 | 91视频91蝌蚪 | 日韩激情视频 | 五月天高清欧美mv | 在线观看免费av片 | 亚洲国产资源 | 在线 成人| 久久艹99| 日韩中文久久 | 久久久福利视频 | 国产精品男女啪啪 | 久久久高清视频 | 91香蕉视频在线 | 狠狠干狠狠色 | 一级久久精品 | 一区二区三区精品在线视频 | 国产精品视频免费看 |