锘??xml version="1.0" encoding="utf-8" standalone="yes"?>99亚洲精品卡2卡三卡4卡2卡,亚洲日本va在线视频观看,亚洲高清视频在线http://www.tkk7.com/keweibo/category/28981.htmlAs long as you are there to lead me ,I won't lose my way zh-cnTue, 15 Jan 2008 15:37:08 GMTTue, 15 Jan 2008 15:37:08 GMT60杞?鐢⊿pring蹇熷紑鍙慾ms搴旂敤錛圝BOSS鏈嶅姟鍣級http://www.tkk7.com/keweibo/articles/175545.htmlKEKETue, 15 Jan 2008 13:00:00 GMThttp://www.tkk7.com/keweibo/articles/175545.htmlhttp://www.tkk7.com/keweibo/comments/175545.htmlhttp://www.tkk7.com/keweibo/articles/175545.html#Feedback1http://www.tkk7.com/keweibo/comments/commentRss/175545.htmlhttp://www.tkk7.com/keweibo/services/trackbacks/175545.htmlJava娑堟伅鏈嶅姟(JMS)鏄敤浜庣紪鍐欎嬌鐢ㄥ紓姝ユ秷鎭紶閫掔殑JEE搴旂敤紼嬪簭鐨凙PI銆備紶緇熺殑浣跨敤JMS API榪涜娑堟伅浼犻掔殑瀹炵幇鍖呮嫭澶氫釜姝ラ錛屼緥濡侸NDI鏌ヨ闃熷垪榪炴帴宸ュ巶鍜孮ueue璧勬簮錛屽湪瀹為檯鍙戦佸拰鎺ユ敹娑堟伅鍓嶅垱寤轟竴涓狫MS浼氳瘽銆?

銆銆 Spring妗嗘灦鍒欑畝鍖栦簡浣跨敤JEE緇勪歡(鍖呮嫭JMS)鐨勪換鍔°傚畠鎻愪緵鐨勬ā鏉挎満鍒墮殣钘忎簡鍏稿瀷鐨凧MS瀹炵幇鐨勭粏鑺傦紝榪欐牱寮鍙戜漢鍛樺彲浠ラ泦涓簿鍔涙斁鍦ㄥ鐞嗘秷鎭殑瀹為檯宸ヤ綔涓紝鑰屼笉鐢ㄦ媴蹇冨浣曞幓鍒涘緩錛岃闂垨娓呴櫎JMS璧勬簮銆?/p>

銆銆 鏈枃灝嗗Spring JMS API浣滀竴涓榪幫紝騫墮氳繃涓涓繍琛屽湪JBoss MQ鏈嶅姟鍣ㄤ笂鐨剋eb渚嬬▼鏉ヤ粙緇嶅浣曚嬌鐢⊿pring JMS API鏉ュ紓姝ュ鐞嗭紙鍙戦佸拰鎺ユ敹錛夋秷鎭傛垜灝嗛氳繃浼犵粺JMS瀹炵幇鍜孲pring JMS瀹炵幇涓よ呴棿鐨勬瘮杈冿紝鏉ュ睍紺轟嬌鐢⊿pring JMS澶勭悊娑堟伅鏄浣曠殑綆鍗曞拰鐏墊椿銆?/p>

寮傛娑堟伅浼犻掑拰闈㈠悜鏈嶅姟鏋舵瀯

銆銆鍦ㄧ幇瀹炰腑錛屽ぇ澶氭暟web璇鋒眰閮芥槸鍚屾澶勭悊鐨勩備緥濡傦紝褰撶敤鎴瘋鐧誨叆涓涓綉绔欙紝棣栧厛杈撳叆鐢ㄦ埛鍚嶅拰瀵嗙爜錛岀劧鍚庢湇鍔″櫒楠岃瘉鐧誨綍鍚堟硶鎬с傚鏋滈獙璇佹垚鍔燂紝紼嬪簭灝嗗厑璁歌鐢ㄦ埛榪涘叆緗戠珯銆傝繖閲岋紝鐧誨綍璇鋒眰鍦ㄤ粠瀹㈡埛绔帴鏀朵互鍚庤鍗蟲椂澶勭悊浜嗐備俊鐢ㄥ崱楠岃瘉鏄彟涓涓悓姝ュ鐞嗙殑渚嬪瓙錛涘彧鏈夋湇鍔″櫒璇佸疄杈撳叆鐨勪俊鐢ㄥ崱鍙鋒槸鏈夋晥鐨勶紝鍚屾椂瀹㈡埛鍦ㄥ笎鎴蜂笂鏈夎凍澶熺殑瀛樻錛屽鎴鋒墠琚厑璁哥戶緇搷浣溿備絾鏄鎴戜滑鎬濊冧竴涓嬪湪欏哄簭澶勭悊緋葷粺涓婄殑鏀粯緇撶畻姝ラ銆備竴鏃︾郴緇熻瘉瀹炶鐢ㄦ埛淇$敤鍗$殑淇℃伅鏄噯紜殑錛屽茍涓斿湪甯愭埛涓婃湁瓚沖鐨勮祫閲戯紝灝變笉蹇呯瓑鍒版墍鏈夌殑鏀粯緇嗚妭钀藉疄銆佽漿璐﹀畬鎴愩傛敮浠樼粨綆楀彲浠ュ紓姝ユ柟寮忚繘琛岋紝榪欐牱瀹㈡埛鍙互緇х畫榪涜鏍告煡鎿嶄綔銆?/p>

銆銆 闇瑕佹瘮鍏稿瀷鍚屾璇鋒眰鑰楄垂鏇撮暱鏃墮棿鐨勮姹傦紝鍙互浣跨敤寮傛澶勭悊銆傚彟涓涓紓姝ュ鐞嗙殑渚嬪瓙鏄紝鍦ㄦ湰鍦拌捶嬈懼鐞嗙▼搴忎腑錛屾彁浜よ嚦鑷姩鎵塊攢緋葷粺錛圓US錛夌殑淇$敤璇鋒眰澶勭悊榪囩▼銆傚綋鍊熸柟鎻愪氦璐鋒鐢寵鍚庯紝鎶墊娂鍏徃浼氬悜AUS鍙戦佽姹傦紝浠ヨ幏鍙栦俊鐢ㄥ巻鍙茶褰曘傜敱浜庤繖涓姹傝姹傚緱鍒板叏闈㈣屽張璇︾粏鐨勪俊鐢ㄦ姤鍛婏紝鍖呮嫭鍊熸柟鐜頒粖鍜岃繃鍘葷殑甯愭埛錛屾渶榪戠殑浠樻鍜屽叾浠栬儲鍔¤祫鏂欙紝鏈嶅姟鍣ㄩ渶瑕佽楄垂杈冮暱鐨勬椂闂達紙鍑犲皬鏃舵垨鐫鏈夋椂鐢氳嚦鏄嚑澶╋級鏉ュ榪欎簺璇鋒眰浣滃嚭鍝嶅簲銆傚鎴風紼嬪簭錛堝簲鐢級瑕佷笌鏈嶅姟鍣ㄨ繛鎺ュ茍鑰楄垂濡傛闀跨殑鏃墮棿鏉ョ瓑寰呯粨鏋滐紝榪欐槸姣棤鎰忎箟鐨勩傚洜姝ら氫俊搴旇鏄紓姝ュ彂鐢熺殑錛涗篃灝辨槸錛屼竴鏃﹁姹傝鎻愪氦錛屽畠灝辮鏀劇疆鍦ㄩ槦鍒椾腑錛屽悓鏃跺鎴風涓庢湇鍔″櫒鏂紑榪炴帴銆傜劧鍚嶢US鏈嶅姟浠庢寚瀹氱殑闃熷垪涓夊嚭璇鋒眰榪涜澶勭悊錛屽茍灝嗗鐞嗗緱鍒扮殑娑堟伅鏀劇疆鍦ㄥ彟涓涓秷鎭槦鍒楅噷銆傛渶鍚庯紝瀹㈡埛绔▼搴忎粠榪欎釜闃熷垪涓夊嚭澶勭悊緇撴灉錛岀揣鎺ョ潃澶勭悊榪欎釜淇$敤鍘嗗彶鏁版嵁銆?/p>

JMS

銆銆 濡傛灉鎮ㄤ嬌鐢ㄨ繃JMS浠g爜錛屾偍浼氬彂鐜板畠涓嶫DBC鎴朖CA寰堝儚銆傚畠鎵鍖呭惈鐨勬牱鏈唬鐮佸垱寤烘垨JMS璧勬簮瀵硅薄鍥炴函錛屼嬌寰楁瘡涓嬈℃偍闇瑕佸啓涓涓柊綾繪潵鍙戦佸拰鎺ユ敹娑堟伅鏃訛紝閮藉叿鏈夋洿濂界殑浠g爜瀵嗛泦鎬у拰閲嶅鎬с備互涓嬪簭鍒楁樉紺轟簡浼犵粺JMS瀹炵幇鎵鍖呮嫭鐨勬楠わ細

  1. 鍒涘緩JNDI鍒濆涓婁笅鏂囷紙context錛夈?
  2. 浠嶫NDI涓婁笅鏂囪幏鍙栦竴涓槦鍒楄繛鎺ュ伐鍘傘?
  3. 浠庨槦鍒楄繛鎺ュ伐鍘備腑鑾峰彇涓涓猀uene銆?
  4. 鍒涘緩涓涓猄ession瀵硅薄銆?
  5. 鍒涘緩涓涓彂閫佽咃紙sender錛夋垨鎺ユ敹鑰咃紙receiver錛夊璞°?
  6. 浣跨敤姝ラ5鍒涘緩鐨勫彂閫佽呮垨鎺ユ敹鑰呭璞″彂閫佹垨鎺ユ敹娑堟伅銆?
  7. 澶勭悊瀹屾秷鎭悗錛屽叧闂墍鏈塉MS璧勬簮銆?

鎮ㄥ彲浠ョ湅鍒幫紝姝ラ6鏄鐞嗘秷鎭殑鍞竴鍦版柟銆傚叾浠栨楠ら兘鍙槸綆$悊涓庡疄闄呬笟鍔¤姹傛棤鍏崇殑JMS璧勬簮錛屼絾鏄紑鍙戜漢鍛樺繀欏葷紪鍐欏茍緇存姢榪欎簺棰濆姝ラ鐨勪唬鐮併?/p>

Spring JMS

銆銆 Spring妗嗘灦鎻愪緵浜嗕竴涓ā鏉挎満鍒舵潵闅愯棌Java APIs鐨勭粏鑺傘侸EE寮鍙戜漢鍛樺彲浠ヤ嬌鐢↗DBCTemplate鍜孞NDITemplate綾繪潵鍒嗗埆璁塊棶鍚庡彴鏁版嵁搴撳拰JEE璧勬簮錛堟暟鎹簮錛岃繛鎺ユ睜錛夈侸MS涔熶笉渚嬪銆係pring鎻愪緵JMSTemplate綾伙紝鍥犳寮鍙戜漢鍛樹笉鐢ㄤ負涓涓狫MS瀹炵幇鍘葷紪鍐欐牱鏈唬鐮併傛帴涓嬫潵鏄湪寮鍙慗MS搴旂敤紼嬪簭鏃禨pring鎵鍏鋒湁涓浜涚殑浼樺娍銆?/p>

  1. 鎻愪緵JMS鎶借薄API錛岀畝鍖栦簡璁塊棶鐩爣錛堥槦鍒楁垨涓婚錛夊拰鍚戞寚瀹氱洰鏍囧彂甯冩秷鎭椂JMS鐨勪嬌鐢ㄣ?
  2. JEE寮鍙戜漢鍛樹笉闇瑕佸叧蹇僇MS涓嶅悓鐗堟湰錛堜緥濡侸MS 1.0.2涓嶫MS 1.1錛変箣闂寸殑宸紓銆?
  3. 寮鍙戜漢鍛樹笉蹇呬笓闂ㄥ鐞咼MS寮傚父錛屽洜涓篠pring涓烘墍鏈塉MS寮傚父鎻愪緵浜嗕竴涓湭緇忔鏌ョ殑寮傚父錛屽茍鍦↗MS浠g爜涓噸鏂版姏鍑恒?

紺轟緥紼嬪簭

        璇存槑錛氬洜涓哄彧鏄負浜嗘紨紺哄浣曚嬌鐢╯pring緙栧啓jms鐨勫簲鐢紝鎵浠ユ湰渚嬫病鏈変粈涔堝疄闄呯敤閫斻?/p>

        紼嬪簭鍔熻兘錛歁essageProducer.java鏍規嵁涓鐢ㄦ埛淇℃伅浜х敓涓涓秷鎭彂閫佸埌 JMS Provider錛涚敱MessageConsumer.java鎺ユ敹銆?/p>

1.鍦↗boss閲岄厤緗甔ML鏂囦歡鍒涘緩涓涓柊鐨凧MS provider銆?br /> 鎵撳紑浣嶄簬%JBOSS_HOME%server\default\deploy\jms鏂囦歡澶逛笅鐨刯bossmq-destinations-service.xml鏂囦歡錛屽姞鍏ヤ互涓嬩唬鐮佺墖鏂細
 <!--  Register User Send/Receive Queue  -->
 <mbean code="org.jboss.mq.server.jmx.Queue"
   name="jboss.mq.destination:service=Queue,name=registerUserQueue">
   <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
 </mbean>
 <!--  Register User Send/Receive Topic  -->
 <mbean code="org.jboss.mq.server.jmx.Topic"
  name="jboss.mq.destination:service=Topic,name=registerUserTopic">
   <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
 </mbean>
2.鍦╯pring鐨勯厤緗枃浠朵腑閰嶇疆JMS緇勪歡鐨勫叿浣撶粏鑺傘?br />  錛?錛塉NDI涓婁笅鏂囨槸鍙栧緱JMS璧勬簮鐨勮搗濮嬩綅緗紝鍥犳棣栧厛鎴戜滑瑕侀厤緗甁NDI妯℃澘錛?br />     <!-- JNDI涓婁笅鏂?瀹冩槸鍙栧緱JMS璧勬簮鐨勮搗濮嬩綅緗? -->
   <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
    <property name="environment">
     <props>
      <prop key="java.naming.factory.initial">
       org.jnp.interfaces.NamingContextFactory
      </prop>
      <prop key="java.naming.provider.url">localhost</prop>
      <prop key="java.naming.factory.url.pkgs">
       org.jnp.interfaces:org.jboss.naming
      </prop>
     </props>
    </property>
   </bean>
   娉ㄦ剰錛氭JNDI妯℃澘鐢ㄥ埌浜唎rg.jnp.interfaces.NamingContextFactory鎵浠ヨ鎶?JBOSS_HOME%\client涓嬬殑jbossall-client.jar鍔犲埌浣犵殑欏圭洰鐨刢lasspath涓?br /> 錛?錛夐厤緗繛鎺ュ伐鍘傦細
   <!-- JMS榪炴帴宸ュ巶 -->
     <bean id="jmsConnectionFactory"class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate">
     <ref bean="jndiTemplate" />
    </property>
    <property name="jndiName">
     <value>XAConnectionFactory</value>
    </property>
   </bean>
   娉ㄦ剰錛歑AConnectionFactory榪欎釜JNDI鍚嶅瓧鏄湪%JBOSS_HOME%server\default\deploy\jms鏂囦歡澶逛笅鐨刯ms-ds.xml涓畾涔夌殑(瀹冩槸鐢盝Boss鎸囧畾鐨?銆?br />  錛?錛夐厤緗甁msTemplate緇勪歡銆傚湪渚嬬▼涓垜浠嬌鐢↗msTemplate102銆傚悓鏃朵嬌鐢╠efaultDestination灞炴ф潵鎸囧畾JMS鐩爣銆?br />   <!-- JMS妯℃澘閰嶇疆 -->
  <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate102">
   <property name="connectionFactory" ref="jmsConnectionFactory" />
   <property name="defaultDestination" ref="destination" />
   <property name="pubSubDomain">
    <value>true</value>
   </property>
   <!-- 絳夊緟娑堟伅鐨勬椂闂?ms) -->
   <property name="receiveTimeout">
         <value>30000</value>
      </property>
  </bean>
  娉ㄦ剰錛氬鏋滀嬌鐢╰opic-subscribe(涓婚璁㈤槄)妯″紡錛岃妯℃澘鐨刾ubSubDomain灞炴у間負true;鑻ヤ嬌鐢≒ToP(鐐瑰鐐?妯″紡錛宲ubSubDomain灞炴у間負false鎴栦笉閰嶇疆璇ュ睘鎬с?br />  (4)瀹氫箟涓涓狫MS鐩爣鏉ュ彂閫佸拰鎺ユ敹娑堟伅:
  <bean id="destination" class="org.springframework.jndi.JndiObjectFactoryBean">
   <property name="jndiTemplate">
    <ref bean="jndiTemplate" />
   </property>
   <property name="jndiName">
    <value>topic/registerUserTopic</value>
   </property>
  </bean>
 (5)閰嶇疆鍙戦佽呭拰鎺ユ敹鑰呯粍浠?
  <!-- 娑堟伅鍙戝竷鑰?-->
  <bean id="msgProducer" class="com.boco.jms.MessageProducer">
   <property name="jmsTemplate" ref="jmsTemplate" />
  </bean>
  <!-- 娑堟伅鎺ユ敹鑰?-->
  <bean id="msgConsumer" class="com.boco.jms.MessageConsumer">
   <property name="jmsTemplate" ref="jmsTemplate" />
  </bean>
3.鐩稿簲鐨勭被:
 (1). User瀵硅薄銆?br />    /**
   *  User.java
   *  created on Jul 2, 2006
   *  Copyrights 2006 BOCO,Inc. All rights reserved.
   */
  package com.boco.dto;
  
  import java.io.Serializable;
  
  /**
   * desc: 鐢ㄦ埛淇℃伅 Bean
   * @author qiujy
   */
  public class User {
   private int id;
   private String username;
   private String password;
   private String email;
   
   public User(){}
   
   //浠ヤ笅涓篏etter,setter鏂規硶鐣?br />    ......
  }
  
 (2).娑堟伅鐢熶駭鑰咃細
   /**
   *  MessageProducer.java
   *  created on Jul 22, 2006
   *  Copyrights 2006 BOCO,Inc. All rights reserved.
   */
  package com.boco.jms;
  
  import javax.jms.JMSException;
  import javax.jms.MapMessage;
  import javax.jms.Message;
  import javax.jms.Session;
  
  import org.springframework.jms.core.JmsTemplate;
  import org.springframework.jms.core.MessageCreator;
  
  import com.boco.dto.User;
  
  /**
   * desc:娑堟伅鐢熶駭鑰?br />    * @author qiujy
   *
   */
  public class MessageProducer {
   /** JMS妯℃澘 */
   private JmsTemplate jmsTemplate;
   
   public void setJmsTemplate(JmsTemplate jmsTemplate){
    this.jmsTemplate = jmsTemplate;
   }
   
   public void sendMessage(final User user){
    //璋冪敤妯℃澘鐨剆end鏉ュ彂閫佹秷鎭?br />     jmsTemplate.send(new MessageCreator(){
  
     public Message createMessage(Session session) throws JMSException {
      //鏋勯犱竴涓鍙戦佺殑娑堟伅
      MapMessage message = session.createMapMessage();
       message.setInt("id", user.getId());
       message.setString("username", user.getUsername());
       message.setString("password", user.getPassword());
       message.setString("email", user.getEmail());
      System.out.println("send success!!");
      return message;
     }
    });
   }
  }
  
 (3).娑堟伅娑堣垂鑰咃細
  /**
   *  MessageConsumer.java
   *  created on Jul 22, 2006
   *  Copyrights 2006 BOCO,Inc. All rights reserved.
   */
  package com.boco.jms;
  
  import javax.jms.JMSException;
  import javax.jms.MapMessage;
  
  import org.springframework.jms.core.JmsTemplate;
  
  import com.boco.dto.User;
  
  /**
   * desc:娑堟伅娑堣垂鑰?br />    * @author qiujy
   *
   */
  public class MessageConsumer {
   /** JMS妯℃澘 */
   private JmsTemplate jmsTemplate;
   
   public void setJmsTemplate(JmsTemplate jmsTemplate){
    this.jmsTemplate = jmsTemplate;
   }
   
   public User receiveMessage(){
    //鍙傛暟涓篋estination鐨凧NDI鍚嶅瓧鍘繪帀鍓嶉潰鐨勬ā寮忕被鍨嬫爣璇?br />     //MapMessage msg = (MapMessage)jmsTemplate.receive("registerUserQueue");
    MapMessage msg = (MapMessage)jmsTemplate.receive("registerUserTopic");
    User user = new User();
    
    try {
     user.setId(msg.getInt("id"));
     user.setUsername(msg.getString("username"));
     user.setPassword(msg.getString("password"));
     user.setEmail(msg.getString("email"));
    } catch (JMSException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
    
    return user;
   }
  }

 (4).嫻嬭瘯鐢ㄤ緥錛?br />    //======== 鐢熶駭鑰呮祴璇曠敤渚?===============
   /**
   *  TestMsgProducer.java
   *  created on Jul 22, 2006
   *  Copyrights 2006 BOCO,Inc. All rights reserved.
   */
  package com.boco.jms;
  
  import junit.framework.TestCase;
  
  import org.springframework.context.ApplicationContext;
  import org.springframework.context.support.ClassPathXmlApplicationContext;
  
  import com.boco.dto.User;
  
  /**
   * desc:
   * @author qiujy
   *
   */
  public class TestMsgProducer extends TestCase {
  
   private ApplicationContext context;
   /**
    * @param arg0
    */
   public TestMsgProducer(String arg0) {
    super(arg0);
    context = new ClassPathXmlApplicationContext("applicationContext_jms.xml");
   }
  
   /* (non-Javadoc)
    * @see junit.framework.TestCase#setUp()
    */
   protected void setUp() throws Exception {
    super.setUp();
   }
  
   /* (non-Javadoc)
    * @see junit.framework.TestCase#tearDown()
    */
   protected void tearDown() throws Exception {
    super.tearDown();
   }
  
   /**
    * Test method for {@link com.boco.jms.MessageProducer#sendMessage(com.boco.dto.User)}.
    */
   public void testSendMessage() {
    User user = new User();
    user.setId(132);
    user.setUsername("JMSTest");
    user.setPassword("password");
    user.setEmail("support@boco.com.cn");
    
    MessageProducer producer = (MessageProducer)context.getBean("msgProducer");
    
    producer.sendMessage(user);
    
   }
  
  }

  //============ 娑堣垂鑰呮祴璇曠敤渚?===============
  /**
   *  TestMsgConsumer.java
   *  created on Jul 22, 2006
   *  Copyrights 2006 BOCO,Inc. All rights reserved.
   */
  package com.boco.jms;
  
  import junit.framework.TestCase;
  
  import org.springframework.context.ApplicationContext;
  import org.springframework.context.support.ClassPathXmlApplicationContext;
  
  import com.boco.dto.User;
  
  /**
   * desc:
   * @author qiujy
   *
   */
  public class TestMsgConsumer extends TestCase {
   private ApplicationContext context;
   /**
    * @param arg0
    */
   public TestMsgConsumer(String arg0) {
    super(arg0);
    context = new ClassPathXmlApplicationContext("applicationContext_jms.xml");
   }
  
   /* (non-Javadoc)
    * @see junit.framework.TestCase#setUp()
    */
   protected void setUp() throws Exception {
    super.setUp();
   }
  
   /* (non-Javadoc)
    * @see junit.framework.TestCase#tearDown()
    */
   protected void tearDown() throws Exception {
    super.tearDown();
   }
  
   /**
    * Test method for {@link com.boco.jms.MessageConsumer#receiveMessage()}.
    */
   public void testReceiveMessage() {
    MessageConsumer consumer = (MessageConsumer)context.getBean("msgConsumer");
    User user = consumer.receiveMessage();
    assertNotNull(user);
    System.out.println( "id========" + user.getId()
        + "\nname======" + user.getUsername()
        + "\npassword==" + user.getPassword()
        + "\nemail=====" + user.getEmail());
   }
  
  }

 


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1418938

鍚姩JBOSS鏈嶅姟鍣?鍏堣繍琛孴estMsgConsumer.java;鍐嶈繍琛孴estMsgProducer.java,鍗沖彲鐪嬪埌鎺у埗鍙扮殑杈撳嚭浜?鍢誨樆~~~~~



KE 2008-01-15 21:00 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 亚洲AV成人一区二区三区观看| 精品亚洲永久免费精品| 不卡一卡二卡三亚洲| 日本免费高清视频| 亚洲av无码一区二区三区在线播放| 亚洲毛片不卡av在线播放一区| 99免费视频观看| 黄色三级三级三级免费看| 亚洲成色在线综合网站 | 中文字幕一区二区免费| 亚洲美女中文字幕| 亚洲AV无码不卡在线观看下载| 91老湿机福利免费体验| 黄色毛片免费在线观看| 亚洲精品视频免费看| 国产性爱在线观看亚洲黄色一级片| 99久久国产热无码精品免费| 无码的免费不卡毛片视频| 久久精品国产亚洲αv忘忧草| 超清首页国产亚洲丝袜| 精品国产麻豆免费网站| 18禁美女黄网站色大片免费观看| 男女猛烈无遮掩视频免费软件| 亚洲国产成人精品无码一区二区| 久久久无码精品亚洲日韩软件| 成人男女网18免费视频| 四虎国产成人永久精品免费| 一级特黄a大片免费| 亚洲av无码成人影院一区| 久久久亚洲AV波多野结衣| 亚洲精品无码专区在线在线播放 | 亚洲毛片一级带毛片基地| 亚洲国产精品一区二区第四页 | 免费观看美女用震蛋喷水的视频 | 亚洲AV无码专区在线观看成人| 77777_亚洲午夜久久多人 | 国产亚洲精品欧洲在线观看| 亚洲图片中文字幕| 亚洲日本va午夜中文字幕一区| 亚洲AV无码乱码精品国产| 国产传媒在线观看视频免费观看|