<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    #

    實戰JBossMQ JMS集群

    一、環境
    數據庫服務器:Oracle 9i2
    操作系統:Windows XP SP2
    JBoss版本:4.2.2
    JDK:Sun 1.5.0.13
    網絡配置:同一機器的一個網卡上綁定兩個ip地址192.168.1.18和192.168.1.147


    二、配置
    1.配置消息和事務日志持久保存的數據源,從JBoss安裝位置的docs\examples\jca目錄下拷貝到server\all\deploy目錄下,并修改其中的連接配置,這里使用OracleDS作為持久保存的數據源。注意:別忘了把Oracle的jdbc驅動程序拷貝到server\all\lib目錄下。

    2.修改DestinationManager配置,刪除server\all\deploy-hasingleton\jms目錄下的hsqldb-jdbc2-service.xml文件,拷貝docs\examples\jms目錄下的oracle-jdbc2-service.xml到server\all\deploy-hasingleton目錄下,使用OracleDS作為DestinationManager的數據源。

    3. 修改StateManager配置,將其中的數據源配置由
    jboss.jca:service=DataSourceBinding,name=DefaultDS 
    jboss.jca:service=DataSourceBinding,name=OracleDS

    4. 配置測試的Topic,在server\all\deploy-hasingleton\jms目錄下新建一個名為jbossweek-jms-service.xml文件,
    <mbean code="org.jboss.mq.server.jmx.Topic" name="jboss.mq.destination:service=Topic,name=jbossweekTopic">
            
    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
    </mbean>

    5. 創建node1的服務器配置,將server\all目錄復制一份改名為node1

    6. 配置完成。


    三、驗證
    1. 分別以run –c all –b192.168.1.17和run –c node1–b192.168.1.148先后啟動all和node1配置。此時192.168.1.17為主節點,瀏覽http://192.168.1.17:8080/jmx-console/。打開JNDIView可以看到jbossweekTopic的JNDI名稱。此時192.168.1.17為主節點,瀏覽http://192.168.1.148:8080/jmx-console/。打開JNDIView就會發現沒有jbossweekTopic的JNDI名稱。

    2. 關閉192.168.1.17上的all服務器,此時在192.168.1.148上的node服務器的控制臺上會出現如下信息:
    13:11:13,921 INFO [TreeCache] viewAccepted(): [192.168.1.17:2292|2] [192.168.1.148:2327]
    13:11:14,015 INFO [TreeCache] viewAccepted(): [192.168.1.17:2288|2] [192.168.1.148:2321]
    13:11:14,218 INFO [DefaultPartition] New cluster view for partition DefaultPartition (id: 2, delta: -1) : [192.168.1.148:1099]
    13:11:14,218 INFO [DefaultPartition] I am (192.168.1.148:1099) received members hipChanged event: 13:11:14,218 INFO [DefaultPartition] Dead members: 1 ([192.168.1.17:1099])
    13:11:14,218 INFO [DefaultPartition] New Members : 0 ([])
    13:11:14,218 INFO [DefaultPartition] All Members : 1 ([192.168.1.148:1099])
    13:11:14,453 INFO [TreeCache] viewAccepted(): [192.168.1.17:2279|2] [192.168.1.148:2306]
    13:11:16,218 INFO [TomcatDeployer] deploy, ctxPath=/jbossmq-httpil, warUrl=.../deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/
    13:11:17,406 INFO [jbossweekTopic] Bound to JNDI name: topic/jbossweekTopic
    13:11:17,453 INFO [A] Bound to JNDI name: queue/A
    13:11:17,453 INFO [B] Bound to JNDI name: queue/B
    13:11:17,468 INFO [C] Bound to JNDI name: queue/C
    13:11:17,468 INFO [D] Bound to JNDI name: queue/D
    13:11:17,468 INFO [ex] Bound to JNDI name: queue/ex
    13:11:17,484 INFO [testTopic] Bound to JNDI name: topic/testTopic
    13:11:17,500 INFO [securedTopic] Bound to JNDI name: topic/securedTopic
    13:11:17,500 INFO [testDurableTopic] Bound to JNDI name: topic/testDurableTopic
    13:11:17,500 INFO [testQueue] Bound to JNDI name: queue/testQueue
    13:11:17,562 INFO [UILServerILService] JBossMQ UIL service available at : /192.168.1.148:8093 13:11:17,609 INFO [DLQ] Bound to JNDI name: queue/DLQ

    3. JMS集群的主節點自動切換到192.168.1.148上的node1節點,瀏覽http://192.168.1.148:8080/jmx-console/。打開JNDIView就會找到jbossweekTopic的JNDI名稱。


    http://linliangyi2007.iteye.com/blog/316997
    http://docs.redhat.com/docs/zh-CN/JBoss_Enterprise_Application_Platform/5/html/JBoss_Messaging_User_Guide/index.html

    posted @ 2012-01-08 23:58 paulwong 閱讀(802) | 評論 (0)編輯 收藏

    jboss-4.2.x運行多個instance

    找到你運行的instance的conf/jboss-service.xml, eg: $JBOSS_HOME/server/default/conf/jboss-service.xml
    找到
    mbean服務中,名字為 ServiceBindingManager 的,里面有個叫做ports-01的內容,打開這個注釋,就可以了。

    如果你要運行多個,那么就需要有多個ServiceBindingManager ports-02,這是第三個,ports-03這是地四個,

    這個文件,對應${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml里面的ports-01部分,ports-02部分,只不過需要在這里啟用,啟動的同時,$JBOSS_HOME/server/default/deploy/jboss-web.deployer/server.xml里面的就不起作用了。

    posted @ 2012-01-08 21:33 paulwong 閱讀(314) | 評論 (0)編輯 收藏

    軟件開發流程

    1. 記錄業務流程,使用活動圖,有時業務流程可能太長,因此會每個流程加一個總結的圖,需要的元素有:輸入,輸出,目標,參與者,輸入可以是對象,資訊和事件。
    2. 以業務流程為基礎,找出系統工程功能需求,使用系統用例圖
    3. 找出領域對象,又稱實體模型,概念模型,領域在設計階段,就是數據表,這里有個模式可以用:交易模式,例如網上商城,下訂單的事件,通常會被分解為這幾個概念:訂單,訂單明細,商品,訂購者,倉庫,下一個動作的概念,如出貨,出貨明細,大致有這幾類:事件,人和地點。
    4. 為了驗證領域模型是否正確,引入分析類,這里又有一個模式:BCE模式,就是不管哪個系統,都可以分成:邊界(B),控制(C)和實體(E),以上這些就是分析模型。
    5. 分析模型是和語言無關的模型:PIM(Platform Independen Model),下面一步就是與語言有關的設計模型,PSM(Platform Specific Model),這里我們采用MDA(Model Driven Architec)模式,即設計類并不由我們人手去加,而是由工具根據上面的分析類生成,如果使用EA就會有這個功能了,上面的控制類在這里也會轉成控制類,但方法中的參數類型會轉為象String這種與開發語言更加密切的東西,也就是一個分析控制類轉成一個設計控制類,還會根據需要增加象DAO這些分析中沒有的設計類。
    6. 數據模型:根據領域模型生成具體的設計類,一個分析實體轉成一個設計實體類。
    7. 為了更加具體表達設計,可以增加狀態圖,例如請假流程,前面的請假流程已經用活動圖表達了,但請假的核心是請假單,我們會就請假單畫出所有的狀態,并加上觸發的事件。
    8. 根據設計類生成JAVA代碼。
    9. 根據前面的用例,設計出測試用例。
    最后完成。。

    posted @ 2012-01-06 14:46 paulwong 閱讀(337) | 評論 (0)編輯 收藏

    討論火車票訂購網站架構

    提交訂票訂單的處理流程如下:
    1)用戶通過瀏覽器訪問系統URL
    2)界面集群F5將請求轉發至某一節點,通過比較用戶數據庫的內容進行身份鑒權。
    3)鑒權成功后進入訂票,提交訂票訂單(查詢流程暫不討論)界面顯示請等待
    4)訂票消息被發送至總線部件(接口可用web Service、RMI、甚至自定義協議都可以)
    5)總線收到訂票消息、去Cache集群查詢相關車次
    6)Cache根據自身維護的車次余票表,返回查詢結果,如果有余票,轉7)。如果無票了,則總線返回界面集群“沒票了”,界面提示用戶明天再試。
    7)若有余票,則總線返回界面集群“正在出票,請等待”,并將訂票請求壓入隊列。且發消息至Cache,告訴CACHE將訂票請求加入隊列。
    8)Cache收到總線隊列增加1個的消息,將自身維護的對應車次余票數減1個。
    9)總線另一線程負責從隊列中取消息,并發送至出票部件。
    10)出票部件產生訂票結果,并修改數據庫,發送“訂票成功”消息回總線。
    11)總線將訂票成功消息直接回傳至界面集群。
    12)用戶看到訂票結果。

     

    posted @ 2012-01-06 11:10 paulwong 閱讀(360) | 評論 (0)編輯 收藏

    Using an Example of Sharding with Hibernate

    AMAZON的關于HIBERNATE SHARD的例子:
    http://aws.amazon.com/articles/0040302286264415

    posted @ 2012-01-04 23:21 paulwong 閱讀(288) | 評論 (0)編輯 收藏

    HIBERNATE SHARD

    數據上千萬,都擠在一個表里,導致查詢太慢?分庫分表洛!但已經用了HIBERNATE了,不想轉其他框架?用HIBERNATE SHARD!

    在向大家詳細介紹Hibernate Shard三種策略之前,首先讓大家了解下Hibernate Shard簡介,然后全面介紹Hibernate Shard三種策略。

    1. Hibernate Shard簡介
    Hibernate Shard多數據庫水平分區解決方案。Hibernate 的一個擴展,用于處理多數據庫水平分區架構。由google工程師 2007年 捐獻給 Hibernate社區。目前版本: 3.0.0 beta2, 未發GA版。條件:Hibernate Core 3.2, JDK 5.0

    2. 水平分區原理
    一個庫表如 Order 存在于多個數據庫實例上。按特定的分區邏輯,將該庫表的數據存儲在這些實例中,一條記錄的主鍵 PK,在所有實例中不得重復。水平分區在大型網站,大型企業應用中經常采用。目的出于海量數據分散存儲,分散操作,分散查詢以便提高數據處理量和整體數據處理性能。使用:google工程師的設計還是非常好的,完全兼容 Hibernate本身的主要接口。
    org.hibernate.Session  
      org.hibernate.SessionFactory  
      org.hibernate.Criteria  
      org.hibernate.Query 

    因此程序員開發變化不大,甚至不需要關心后臺使用了分區數據庫。程序遷移問題不大。而且配置上比較簡明。

    3. Hibernate Shard三種策略:
    ◆ShardAccessStrategy, 查詢操作時,到那個分區執行。默認提供兩個實現:
    順序策略:SequentialShardAccessStrategy, 每個query按順序在所有分區上執行。
    平行策略:ParallelShardAccessStrategy, 每個query以多線程方式并發平行的在所有分區上執行。此策略下,需要使用線程池機制滿足特定的性能需要,java.util.concurrent.ThreadPoolExecutor.

    ◆ShardSelectionStrategy, 新增對象時,存儲到哪個分區。框架默認提供了一個輪詢選擇策略 RoundRobinShardSelectionStrategy, 但一般不這樣使用。通常采用“attribute-based sharding”機制,基于屬性分區。一般是用戶根據表自己實現一個基于屬性分區的策略類ShardSelectionStrategy ,例如,以下WeatherReport基于continent屬性選擇分區:  
    public class WeatherReportShardSelectionStrategy implements ShardSelectionStrategy {  
    public ShardId selectShardIdForNewObject(Object obj) {  
    if(obj instanceof WeatherReport) 
    {  
    return ((WeatherReport)obj).getContinent().getShardId();  
    }
      
    throw new IllegalArgumentException();  
    }
     

    ◆ShardResolutionStrategy, 該策略用于查找單個對象時,判斷它在哪個或哪幾個分區上。默認使用 AllShardsShardResolutionStrategy ,可以自定義例如:  

    public class WeatherReportShardResolutionStrategy extends AllShardsShardResolutionStrategy
    {
    public WeatherReportShardResolutionStrategy(List<ShardId> shardIds)
    {
    super(shardIds);
    }


    public List<ShardId> selectShardIdsFromShardResolutionStrategyData( ShardResolutionStrategyData srsd)
    {
    if(srsd.getEntityName().equals(WeatherReport.class.getName()))
    {
    return Continent.getContinentByReportId(srsd.getId()).getShardId();
    }

    return super.selectShardIdsFromShardResolutionStrategyData(srsd);
    }

    }

    posted @ 2012-01-04 22:40 paulwong 閱讀(899) | 評論 (0)編輯 收藏

    Webx-淘寶的框架

    淘寶的一個框架:
    Webx:http://openwebx.org/docs/preface.html

    代碼下載:
    https://github.com/webx/citrus

    posted @ 2012-01-04 22:04 paulwong 閱讀(1246) | 評論 (0)編輯 收藏

    MyEclipse詳解及MyEclipse7.5的優化

      這篇文章本要講了兩方面的內容
    第一:對MyEclipse的解釋,讓您更加細致準確的了解MyEclipse,
    第二:對
    MyEclipse7.5的優化
    MyEclipse企業級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴展,利用它我們可以在數據庫和J2EE的開發、發布,以及應用程序服務器的整合方面極大的提高工作效率。MyEclipse是功能豐富的J2EE集成開發環境,包括了完備的編碼、調試、測試和發布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。
      在結構上,MyEclipse的特征可以被分為7類:
    1. J2EE模型
    2. WEB開發工具
    3. EJB開發工具
    4. 應用程序服務器的連接器
    5. J2EE項目部署服務
    6. 數據庫服務
    7. MyEclipse整合幫助
      對于以上每一種功能上的類別,在Eclipse中都有相應的功能部件,并通過一系列的插件來實現它們。MyEclipse結構上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。
      簡單而言,MyEclipse是Eclipse的插件,也是一款功能強大的J2EE集成開發環境,支持代碼編寫、配置、測試以及除錯。

    MyEclipse7.5的優化
    1、去除不需要加載的模塊 一個系統20%的功能往往能夠滿足80%的需求,MyEclipse也不例外,我們在大多數時候只需要20%的系統功能,所以可以將一些不使用的模塊禁止 加載啟動。通過Windows - Preferences打開配置窗口,依次選擇左側的General - Startup and Shutdown,這個時候在右側就顯示出了Eclipse啟動時加載的模塊,可以根據自己的實際情況去除一些模塊。
    windows–>perferences–>general–>startup and shutdown
    關掉沒用的啟動項:
    WTP :一個跟myeclipse差不多的東西,主要差別是 WTP 是免費的,如果使用myeclipse,這個可以取消
    Mylyn:組隊任務管理工具,類似于 CVS ,以任務為單位管理項目進度,沒用到的可以取消
    Derby:一種保存成 jar 形式的數據庫,我沒用到,取消一大排以 MyEclipse EASIE 打頭的啟動項:myeclipse 支持的服務器,只選自己用的,其他取消,比如我只選了tomcat6.x


    2、取消MyEclipse在啟動時自動驗證項目配置文件
    默認情況下MyEclipse在啟動的時候會自動驗證每個項目的配置文件,這是一個非常耗時的過程,
    可以在Preferences窗口依次選擇 MyEclipse Enterprise Workbench - Validation,然后在右側的Validator列表中只保留 Manual 項就可以了(Manual全部勾選,Bulid項只留下第一項)。
    如果需要驗證的時候只需要選中文件,然后右鍵選擇 MyEclipse - Run Validation就可以了。
    windows–>perferences–>myeclipse–>validation
    把除了manual 下面的全部點掉,build下只留 classpath dependency Validator
    手工驗證方法: 在要驗證的文件上,單擊鼠標右鍵–>myeclipse–>run validation

    3、去掉拼寫檢查(如果你覺的有用可以不去)
    拼寫檢查會給我們帶來不少的麻煩,我們的方法命名都會是單詞的縮寫,他也會提示有錯,所以最好去掉,沒有多大的用處:
    windows–>perferences–>general–>validation->editors->Text Editors->spelling
    myeclipse 打開 jsp 的默認編輯器不好,會同時打開預覽
    windows–>perferences–>general–>editors->file associations,
    把默認改成 MyEclipse JSP Editor()
    原默認的jsp編輯器是 MyEclipse Visual JSP Designer,顧名思義,此編譯器是jsp可視化編輯器,對于初學者有很多的幫助,但修改此項的默認編輯器其實可以提高啟動速度)


    4、關閉自動更新
    如果是myeclipse7.5:
    (1)關掉maven自動更新: window-preferences-MyEclipse Enterprise Workbench-Maven4MyEclipse-Maven, 關閉所有Download和Update開頭的選項,共四項(去掉前面的勾)
    (2)關閉更新調度:window –> preferences –> General –> Startup and Shutdown –> Automatic Updates Scheduler(去掉前面的勾)
    (3)window –> preferences –>Myeclipse Dashboard,關閉Show……on start

    5、加大JVM的非堆內存
    打開 myeclipse.ini
    -startup
    ../Common\plugins\org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar
    --launcher.library
    ../Common\plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731
    -clean
    -configuration
    configuration
    -vm
    C:\Users\lenovo\AppData\Local\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\bin\client\jvm.dll
    -vmargs
    -Xmx384m
    -XX:MaxPermSize=384m
    -XX:ReservedCodeCacheSize=96m
    以上是我的myeclipse.ini,需要修改是-Xmx,-XX:MaxPermSize,-XX:ReservedCodeCacheSize,
    將這三項的值調大,但并不是越大越好,曾經在相同的條件下做過測試(內存2GB),-Xmx,-XX:MaxPermSize的值為384m時比512m時要快(視具體的計算機而定),
    -Xmx,-XX:MaxPermSize的值設為同樣大小且兩者之和不能超出你的計算機本身的內存大小


    6、window-preferences-MyEclipse Enterprise Workbench-Maven4MyEclipse-Maven,將Maven JDK改為電腦上安裝的JDK,即不使用myeclipse提高的JDK
    登記add按鈕,選擇你的電腦上的JDK即可(注意:不是JRE,我的值為:Java6.014)

    posted @ 2012-01-03 23:38 paulwong 閱讀(278) | 評論 (0)編輯 收藏

    Watij and Maven

    By the way, I did this "by hand" and got it working.

    First, download the waitj bundle and unzip it.

    Then, use maven to manually install each dependency in the lib folder
    like so:
    mvn install:install-file -Dfile=webspec.jar -DartifactId=webspec -
    DgroupId=watij -Dversion=1.3.1 -Dpackaging=jar

    You can also do deploy:deploy-file if you want to put them into a
    central maven repo.

    Of course, you don't need to do this for log4j, junit, slf4j. I did
    it for all the others for speed, registering them under "watij" and
    version 1.3.1

    Got this working in Eclipse, a simple login test case, yipee!

    Here is the POM snippet for my project:

      <dependencies> 
        
    <dependency> 
          
    <groupId>junit</groupId> 
          
    <artifactId>junit</artifactId> 
          
    <version>4.8.2</version> 
          
    <scope>test</scope> 
        
    </dependency> 


        
    <!-- WATIJ --> 
        
    <dependency> 
          
    <groupId>watij</groupId> 
          
    <artifactId>webspec</artifactId> 
          
    <version>1.3.1</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>watij</groupId> 
          
    <artifactId>engine-gecko</artifactId> 
          
    <version>1.3.1</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>watij</groupId> 
          
    <artifactId>engine-ie</artifactId> 
          
    <version>1.3.1</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>watij</groupId> 
          
    <artifactId>engine-webkit</artifactId> 
          
    <version>1.3.1</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>watij</groupId> 
          
    <artifactId>jniwrap-native</artifactId> 
          
    <version>1.3.1</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>watij</groupId> 
          
    <artifactId>jxbrowser</artifactId> 
          
    <version>1.3.1</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>watij</groupId> 
          
    <artifactId>MozillaGlue</artifactId> 
          
    <version>1.3.1</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>watij</groupId> 
          
    <artifactId>MozillaInterfaces</artifactId> 
          
    <version>1.3.1</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>watij</groupId> 
          
    <artifactId>mshtml</artifactId> 
          
    <version>1.3.1</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>watij</groupId> 
          
    <artifactId>runtime</artifactId> 
          
    <version>1.3.1</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>watij</groupId> 
          
    <artifactId>tuxpack</artifactId> 
          
    <version>1.3.1</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>watij</groupId> 
          
    <artifactId>winpack</artifactId> 
          
    <version>1.3.1</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>watij</groupId> 
          
    <artifactId>xulrunner-linux</artifactId> 
          
    <version>1.3.1</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>watij</groupId> 
          
    <artifactId>xulrunner-linux64</artifactId> 
          
    <version>1.3.1</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>watij</groupId> 
          
    <artifactId>xulrunner-mac</artifactId> 
          
    <version>1.3.1</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>watij</groupId> 
          
    <artifactId>xulrunner-windows</artifactId> 
          
    <version>1.3.1</version> 
        
    </dependency> 


        
    <dependency> 
          
    <groupId>log4j</groupId> 
          
    <artifactId>log4j</artifactId> 
          
    <version>1.2.15</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>org.slf4j</groupId> 
          
    <artifactId>slf4j-api</artifactId> 
          
    <version>1.5.8</version> 
        
    </dependency> 
        
    <dependency> 
          
    <groupId>org.slf4j</groupId> 
          
    <artifactId>slf4j-log4j12</artifactId> 
          
    <version>1.5.8</version> 
        
    </dependency> 



    posted @ 2012-01-03 22:08 paulwong 閱讀(821) | 評論 (0)編輯 收藏

    Watij入門

         摘要: Watij介紹 Javadoc API for Watij: http://watij.sourceforge.net/docs/api/index.html?watij/IE.html 第三章 Watij環境設置 3.1 Watij環境要求 l Watij 3.2.1 l JDK 1.5 l Java IDE(本文中使用Eclipse) 3.2 Watij安裝及設置 l 下載軟...  閱讀全文

    posted @ 2012-01-03 22:01 paulwong 閱讀(2358) | 評論 (0)編輯 收藏

    僅列出標題
    共115頁: First 上一頁 91 92 93 94 95 96 97 98 99 下一頁 Last 
    主站蜘蛛池模板: 美女视频黄a视频全免费网站一区 美女视频黄a视频全免费网站色 | 免费一级毛suv好看的国产网站| 亚洲国产成人影院播放| 国产免费牲交视频免费播放| 亚洲av无码一区二区三区不卡| www.亚洲精品.com| 四虎影视无码永久免费| 91亚洲国产成人久久精品网址| 国产精品无码一区二区三区免费 | 亚洲av无码片在线观看| 成人伊人亚洲人综合网站222| 久久久久久免费一区二区三区| 亚洲日本va在线观看| 国产精品亚洲综合一区| 91免费国产自产地址入| 狠狠综合久久综合88亚洲| 免费在线观看视频网站| 免费人成大片在线观看播放电影 | 国产成人AV免费观看| 亚洲色大成网站www永久网站| 国产亚洲一区区二区在线| 青青草免费在线视频| a级毛片免费播放| 亚洲AV综合色区无码一二三区 | 又黄又大又爽免费视频| 99re免费视频| 一级特黄录像视频免费| 亚洲一本到无码av中文字幕| 久久国产亚洲电影天堂| 亚洲av无码国产精品色在线看不卡| 51精品视频免费国产专区| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 毛片免费在线观看网站| 久久久免费的精品| 黄色a级免费网站| 国产亚洲sss在线播放| 亚洲av日韩av不卡在线观看| 久久久久国产成人精品亚洲午夜| 四虎成人精品一区二区免费网站| 99精品热线在线观看免费视频| 美女网站在线观看视频免费的|