锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲欧洲日本精品,久久久国产精品亚洲一区,久久精品亚洲男人的天堂http://www.tkk7.com/clant/category/17975.htmlzh-cnWed, 28 Feb 2007 16:21:57 GMTWed, 28 Feb 2007 16:21:57 GMT60JMS娑堟伅涓棿浠跺紑婧愬疄鐜?/title><link>http://www.tkk7.com/clant/articles/85156.html</link><dc:creator>BPM </dc:creator><author>BPM </author><pubDate>Sun, 03 Dec 2006 02:38:00 GMT</pubDate><guid>http://www.tkk7.com/clant/articles/85156.html</guid><wfw:comment>http://www.tkk7.com/clant/comments/85156.html</wfw:comment><comments>http://www.tkk7.com/clant/articles/85156.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/clant/comments/commentRss/85156.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/clant/services/trackbacks/85156.html</trackback:ping><description><![CDATA[ <a >http://www.open-open.com/53.htm</a> <img src ="http://www.tkk7.com/clant/aggbug/85156.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/clant/" target="_blank">BPM </a> 2006-12-03 10:38 <a href="http://www.tkk7.com/clant/articles/85156.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>JMS妗嗘灦寮婧愬疄鐜?/title><link>http://www.tkk7.com/clant/articles/85158.html</link><dc:creator>BPM </dc:creator><author>BPM </author><pubDate>Sun, 03 Dec 2006 02:38:00 GMT</pubDate><guid>http://www.tkk7.com/clant/articles/85158.html</guid><wfw:comment>http://www.tkk7.com/clant/comments/85158.html</wfw:comment><comments>http://www.tkk7.com/clant/articles/85158.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/clant/comments/commentRss/85158.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/clant/services/trackbacks/85158.html</trackback:ping><description><![CDATA[ <a >http://www.open-open.com/37.htm</a> <img src ="http://www.tkk7.com/clant/aggbug/85158.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/clant/" target="_blank">BPM </a> 2006-12-03 10:38 <a href="http://www.tkk7.com/clant/articles/85158.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浣跨敤Spring JMS杞繪澗瀹炵幇寮傛娑堟伅浼犻?/title><link>http://www.tkk7.com/clant/articles/85151.html</link><dc:creator>BPM </dc:creator><author>BPM </author><pubDate>Sun, 03 Dec 2006 02:11:00 GMT</pubDate><guid>http://www.tkk7.com/clant/articles/85151.html</guid><wfw:comment>http://www.tkk7.com/clant/comments/85151.html</wfw:comment><comments>http://www.tkk7.com/clant/articles/85151.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/clant/comments/commentRss/85151.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/clant/services/trackbacks/85151.html</trackback:ping><description><![CDATA[聽聽聽聽聽聽寮傛榪涚▼閫氫俊鏄潰鍚戞湇鍔℃灦鏋?SOA)涓涓噸瑕佺殑緇勬垚閮ㄥ垎錛屽洜涓轟紒涓氶噷寰堝緋葷粺閫氫俊錛岀壒鍒槸涓庡閮ㄧ粍緇囬棿鐨勯氫俊錛屽疄璐ㄤ笂閮芥槸寮傛鐨勩?a target="_blank">Java娑堟伅鏈嶅姟</a>(JMS)鏄敤浜庣紪鍐欎嬌鐢ㄥ紓姝ユ秷鎭紶閫掔殑JEE搴旂敤紼嬪簭鐨凙PI銆備紶緇熺殑浣跨敤JMS API榪涜娑堟伅浼犻掔殑瀹炵幇鍖呮嫭澶氫釜姝ラ錛屼緥濡侸NDI鏌ヨ闃熷垪榪炴帴宸ュ巶鍜孮ueue璧勬簮錛屽湪瀹為檯鍙戦佸拰鎺ユ敹娑堟伅鍓嶅垱寤轟竴涓狫MS浼?xì)璇濄? <p>銆銆 <a target="_blank"><font color="#800080">Spring妗嗘灦</font></a>鍒欑畝鍖栦簡(jiǎn)浣跨敤JEE緇勪歡(鍖呮嫭JMS)鐨勪換鍔°傚畠鎻愪緵鐨勬ā鏉挎満鍒墮殣钘忎簡(jiǎn)鍏稿瀷鐨凧MS瀹炵幇鐨勭粏鑺傦紝榪欐牱寮鍙戜漢鍛樺彲浠ラ泦涓簿鍔涙斁鍦ㄥ鐞嗘秷鎭殑瀹為檯宸ヤ綔涓紝鑰屼笉鐢ㄦ媴蹇?jī)濡備綍鍘诲垱寰忓Q岃闂垨娓呴櫎JMS璧勬簮銆?/p><p>銆銆 鏈枃灝嗗Spring JMS API浣滀竴涓榪幫紝騫墮氳繃涓涓繍琛屽湪JBoss MQ鏈嶅姟鍣ㄤ笂鐨剋eb渚嬬▼鏉ヤ粙緇嶅浣曚嬌鐢⊿pring JMS API鏉ュ紓姝ュ鐞嗭紙鍙戦佸拰鎺ユ敹錛夋秷鎭傛垜灝嗛氳繃浼犵粺JMS瀹炵幇鍜孲pring JMS瀹炵幇涓よ呴棿鐨勬瘮杈冿紝鏉ュ睍紺轟嬌鐢⊿pring JMS澶勭悊娑堟伅鏄浣曠殑綆鍗曞拰鐏墊椿銆?/p><h3>寮傛娑堟伅浼犻掑拰闈㈠悜鏈嶅姟鏋舵瀯</h3><p>銆銆鍦ㄧ幇瀹炰腑錛屽ぇ澶氭暟web璇鋒眰閮芥槸鍚屾澶勭悊鐨勩備緥濡傦紝褰撶敤鎴瘋鐧誨叆涓涓綉绔欙紝棣栧厛杈撳叆鐢ㄦ埛鍚嶅拰瀵嗙爜錛岀劧鍚庢湇鍔″櫒楠岃瘉鐧誨綍鍚堟硶鎬с傚鏋滈獙璇佹垚鍔燂紝紼嬪簭灝嗗厑璁歌鐢ㄦ埛榪涘叆緗戠珯銆傝繖閲岋紝鐧誨綍璇鋒眰鍦ㄤ粠瀹㈡埛绔帴鏀朵互鍚庤鍗蟲椂澶勭悊浜?jiǎn)銆備俊鐢ㄥ崱楠岃瘉鏄彟涓涓悓姝ュ鐞嗙殑渚嬪瓙錛涘彧鏈夋湇鍔″櫒璇佸疄杈撳叆鐨勪俊鐢ㄥ崱鍙鋒槸鏈夋晥鐨勶紝鍚屾椂瀹㈡埛鍦ㄥ笎鎴蜂笂鏈夎凍澶熺殑瀛樻錛屽鎴鋒墠琚厑璁哥戶緇搷浣溿備絾鏄鎴戜滑鎬濊冧竴涓嬪湪欏哄簭澶勭悊緋葷粺涓婄殑鏀粯緇撶畻姝ラ銆備竴鏃︾郴緇熻瘉瀹炶鐢ㄦ埛淇$敤鍗$殑淇℃伅鏄噯紜殑錛屽茍涓斿湪甯愭埛涓婃湁瓚沖鐨勮祫閲戯紝灝變笉蹇呯瓑鍒版墍鏈夌殑鏀粯緇嗚妭钀藉疄銆佽漿璐﹀畬鎴愩傛敮浠樼粨綆楀彲浠ュ紓姝ユ柟寮忚繘琛岋紝榪欐牱瀹㈡埛鍙互緇х畫榪涜鏍告煡鎿嶄綔銆?/p><p>銆銆 闇瑕佹瘮鍏稿瀷鍚屾璇鋒眰鑰楄垂鏇撮暱鏃墮棿鐨勮姹傦紝鍙互浣跨敤寮傛澶勭悊銆傚彟涓涓紓姝ュ鐞嗙殑渚嬪瓙鏄紝鍦ㄦ湰鍦拌捶嬈懼鐞嗙▼搴忎腑錛屾彁浜よ嚦鑷姩鎵塊攢緋葷粺錛圓US錛夌殑淇$敤璇鋒眰澶勭悊榪囩▼銆傚綋鍊熸柟鎻愪氦璐鋒鐢寵鍚庯紝鎶墊娂鍏徃浼?xì)鍚慉US鍙戦佽姹傦紝浠ヨ幏鍙栦俊鐢ㄥ巻鍙茶褰曘傜敱浜庤繖涓姹傝姹傚緱鍒板叏闈㈣屽張璇︾粏鐨勪俊鐢ㄦ姤鍛婏紝鍖呮嫭鍊熸柟鐜頒粖鍜岃繃鍘葷殑甯愭埛錛屾渶榪戠殑浠樻鍜屽叾浠栬儲(chǔ)鍔¤祫鏂欙紝鏈嶅姟鍣ㄩ渶瑕佽楄垂杈冮暱鐨勬椂闂達(dá)紙鍑犲皬鏃舵垨鐫鏈夋椂鐢氳嚦鏄嚑澶╋級(jí)鏉ュ榪欎簺璇鋒眰浣滃嚭鍝嶅簲銆傚鎴風(fēng)紼嬪簭錛堝簲鐢級(jí)瑕佷笌鏈嶅姟鍣ㄨ繛鎺ュ茍鑰楄垂濡傛闀跨殑鏃墮棿鏉ョ瓑寰呯粨鏋滐紝榪欐槸姣棤鎰忎箟鐨勩傚洜姝ら氫俊搴旇鏄紓姝ュ彂鐢熺殑錛涗篃灝辨槸錛屼竴鏃﹁姹傝鎻愪氦錛屽畠?yōu)p鏀劇疆鍦ㄩ槦鍒椾腑錛屽悓鏃跺鎴風(fēng)涓庢湇鍔″櫒鏂紑榪炴帴銆傜劧鍚嶢US鏈嶅姟浠庢寚瀹氱殑闃熷垪涓夊嚭璇鋒眰榪涜澶勭悊錛屽茍灝嗗鐞嗗緱鍒扮殑娑堟伅鏀劇疆鍦ㄥ彟涓涓秷鎭槦鍒楅噷銆傛渶鍚庯紝瀹㈡埛绔▼搴忎粠榪欎釜闃熷垪涓夊嚭澶勭悊緇撴灉錛岀揣鎺ョ潃澶勭悊榪欎釜淇$敤鍘嗗彶鏁版嵁銆?/p><h3>JMS</h3><p>銆銆 濡傛灉鎮(zhèn)ㄤ嬌鐢ㄨ繃JMS浠g爜錛屾?zhèn)ㄤ細(xì)鍙戠幇瀹冧笌JDBC鎴朖CA寰堝儚銆傚畠鎵鍖呭惈鐨勬牱鏈唬鐮佸垱寤烘垨JMS璧勬簮瀵硅薄鍥炴函錛屼嬌寰楁瘡涓嬈℃?zhèn)ㄩ渶瑕佸啓涓涓柊綾繪潵鍙戦佸拰鎺ユ敹娑堟伅鏃訛紝閮藉叿鏈夋洿濂界殑浠g爜瀵嗛泦鎬у拰閲嶅鎬с備互涓嬪簭鍒楁樉紺轟簡(jiǎn)浼犵粺JMS瀹炵幇鎵鍖呮嫭鐨勬楠わ細(xì)</p><ol type="1"><li>鍒涘緩JNDI鍒濆涓婁笅鏂囷紙context錛夈? </li><li>浠嶫NDI涓婁笅鏂囪幏鍙栦竴涓槦鍒楄繛鎺ュ伐鍘傘? </li><li>浠庨槦鍒楄繛鎺ュ伐鍘備腑鑾峰彇涓涓猀uene銆? </li><li>鍒涘緩涓涓猄ession瀵硅薄銆? </li><li>鍒涘緩涓涓彂閫佽咃紙sender錛夋垨鎺ユ敹鑰咃紙receiver錛夊璞°? </li><li>浣跨敤姝ラ5鍒涘緩鐨勫彂閫佽呮垨鎺ユ敹鑰呭璞″彂閫佹垨鎺ユ敹娑堟伅銆? </li><li>澶勭悊瀹屾秷鎭悗錛屽叧闂墍鏈塉MS璧勬簮銆?</li></ol>鎮(zhèn)ㄥ彲浠ョ湅鍒幫紝姝ラ6鏄鐞嗘秷鎭殑鍞竴鍦版柟銆傚叾浠栨楠ら兘鍙槸綆$悊涓庡疄闄呬笟鍔¤姹傛棤鍏崇殑JMS璧勬簮錛屼絾鏄紑鍙戜漢鍛樺繀欏葷紪鍐欏茍緇存姢榪欎簺棰濆姝ラ鐨勪唬鐮併? <p>聽</p><h3>Spring JMS</h3><p>銆銆 Spring妗嗘灦鎻愪緵浜?jiǎn)涓涓ā鏉挎満鍒舵潵闅愯棌Java APIs鐨勭粏鑺傘侸EE寮鍙戜漢鍛樺彲浠ヤ嬌鐢↗DBCTemplate鍜孞NDITemplate綾繪潵鍒嗗埆璁塊棶鍚庡彴鏁版嵁搴撳拰JEE璧勬簮錛堟暟鎹簮錛岃繛鎺ユ睜錛夈侸MS涔熶笉渚嬪銆係pring鎻愪緵JMSTemplate綾伙紝鍥犳寮鍙戜漢鍛樹笉鐢ㄤ負(fù)涓涓狫MS瀹炵幇鍘葷紪鍐欐牱鏈唬鐮併傛帴涓嬫潵鏄湪寮鍙慗MS搴旂敤紼嬪簭鏃禨pring鎵鍏鋒湁涓浜涚殑浼樺娍銆?/p><ol type="1"><li>鎻愪緵JMS鎶借薄API錛岀畝鍖栦簡(jiǎn)璁塊棶鐩爣錛堥槦鍒楁垨涓婚錛夊拰鍚戞寚瀹氱洰鏍囧彂甯冩秷鎭椂JMS鐨勪嬌鐢ㄣ? </li><li>JEE寮鍙戜漢鍛樹笉闇瑕佸叧蹇?jī)JMS涓嶅悓鐗堟湰錛堜緥濡侸MS 1.0.2涓嶫MS 1.1錛変箣闂寸殑宸紓銆? </li><li>寮鍙戜漢鍛樹笉蹇呬笓闂ㄥ鐞咼MS寮傚父錛屽洜涓篠pring涓烘墍鏈塉MS寮傚父鎻愪緵浜?jiǎn)涓涓湭緇忔鏌ョ殑寮傚父錛屽茍鍦↗MS浠g爜涓噸鏂版姏鍑恒?</li></ol>涓鏃︽?zhèn)ㄥ湪JMS搴旂敤紼嬪簭涓紑濮嬩嬌鐢⊿pring錛屾?zhèn)畣浼?xì)嬈h祻鍒板畠鍦ㄥ鐞嗗紓姝ユ秷鎭紶閫掍笂鐨勭畝渚褲係pring JMS妗嗘灦鎻愪緵澶氱Java綾伙紝鍙互杞繪澗瀹炵幇JMS搴旂敤銆傝〃1鍒楀嚭浜?jiǎn)杩欎簺绫荤殑涓閮ㄥ垎銆? <p>聽</p><p>銆銆 琛?. Spring JMS綾?/p><table class="tabel-general" cellspacing="0" cellpadding="0" width="100%"><tbody><tr><th class="left">綾誨悕</th><th class="center">鍖?/th><th class="right">鍔熻兘</th></tr><tr><td class="left">JmsException</td><td class="center">org.springframework.jms</td><td class="right">鍙鍙戠敓涓涓狫MS寮傚父錛孲pring妗嗘灦灝變細(xì)鎶涘嚭寮傚父錛岃繖涓被鏄繖浜涙墍鎶涘嚭鐨勫紓甯哥殑鍩猴紙鎶借薄錛夌被銆?/td></tr><tr><td class="left">JmsTemplate, JmsTemplate102</td><td class="center">org.springframework.jms.core</td><td class="right">榪欎簺鏄緟鍔╃被錛岀敤浜庣畝鍖朖MS鐨勪嬌鐢紝澶勭悊JMS璧勬簮錛堝榪炴帴宸ュ巶錛岀洰鏍囧拰鍙戦佽?鎺ユ敹鑰呭璞★級(jí)鐨勫垱寤哄拰閲婃斁銆侸msTemplate102鏄疛msTemplate鐨勫瓙綾伙紝浣跨敤JMS1.0.2瑙勮寖</td></tr><tr><td class="left">MessageCreator</td><td class="center">org.springframework.jms.core</td><td class="right">榪欐槸JmsTemplate綾諱嬌鐢ㄧ殑鍥炲彨鎺ュ彛錛屽畠涓烘寚瀹氱殑浼?xì)璇濆垱寰廕MS娑堟伅銆?/td></tr><tr><td class="left">MessageConverter</td><td class="center">org.springframework.jms.support.converter</td><td class="right">榪欎釜鎺ュ彛鍏呭綋涓涓娊璞★紝鐢ㄦ潵鍦↗ava瀵硅薄涓嶫MS娑堟伅涔嬮棿榪涜杞崲銆?/td></tr><tr><td class="left">DestinationResolver</td><td class="center">org.springframework.jms.support.destination</td><td class="right">榪欐槸JmsTemplate鐢ㄦ潵瑙f瀽鐩爣鍚嶇殑鎺ュ彛銆傝鎺ュ彛鐨勯粯璁ゅ疄鐜版槸DynamicDestinationResolver鍜孞ndiDestinationResolve</td></tr></tbody></table><p>銆銆鍦ㄦ帴涓嬫潵鐨勯儴鍒嗭紝鎴戝皢璇︾粏瑙i噴琛?鎵鍒楃殑涓閮ㄥ垎綾伙紙渚嬪JmsTemplate錛孌estinationResolver鍜孧essageConverter錛夈?/p><h3>JMSTemplate</h3><p>銆銆JmsTemplate鎻愪緵浜?jiǎn)鍑牽U嶈緟鍔╂柟娉曪紝鐢ㄦ潵鎵ц涓浜涘熀鏈搷浣溿傝寮濮嬩嬌鐢↗msTemplate鍓嶏紝鎮(zhèn)ㄩ渶瑕佺煡閬揓MS渚涘簲鍟嗘敮鎸佸摢涓狫MS瑙勮寖錛?a target="_blank">JBoss AS 4.0.2</a>鍜?a target="_blank">WebLogic 8.1</a>鏈嶅姟鍣ㄦ敮鎸丣MS 1.0.2瑙勮寖銆俉ebLogic Server 9.0鍖呮嫭浜?jiǎn)瀵?a target="_blank">JMS 1.1</a>瑙勮寖鐨?a target="_blank">鏀寔</a>銆侸MS 1.1緇熶竴浜?jiǎn)鐐瑰鐐瑰Q圥TP錛夊拰鍙戝竷/璁㈤槄錛圥ub/Sub錛夊煙鐨勭紪紼嬫帴鍙c傝繖縐嶆敼鍙樼殑緇撴灉灝辨槸錛屽紑鍙戜漢鍛樺彲浠ュ垱寤轟竴涓簨鍔′細(xì)璇濓紝鐒跺悗鍦ㄨ繖鍚屼竴涓狫MS浼?xì)璇濋噷锛屽彲浠ヤ粠涓涓猀ueue(PTP)涓帴鏀舵秷鎭紝鍚屾椂鍙戦佸彟涓涓秷鎭埌涓涓猅opic(Pub/Sub)銆侸MS 1.1鍚戝悗鍏煎JMS 1.0錛屽簲姝ゆ牴鎹甁MS 1.0緙栧啓鐨勪唬鐮佷粛鍙互閫傜敤浜嶫MS 1.1銆?/p><p>銆銆 JmsTemplate鎻愪緵澶氱鍙戦佸拰鎺ユ敹娑堟伅鐨勬柟娉曘傝〃2鍒楀嚭浜?jiǎn)杩欎簺鏂规硶鐨勪竴閮ㄥ垎銆?/p><p>銆銆 琛?. JMS template鏂規(guī)硶</p><table class="tabel-general" cellspacing="0" cellpadding="0" width="100%"><tbody><tr><th class="left">鏂規(guī)硶鍚嶇О</th><th class="right">鍔熻兘</th></tr><tr><td class="left">send</td><td class="right">鍙戦佹秷鎭嚦榛樿鎴栨寚瀹氱殑鐩爣銆侸msTemplate鍖呭惈send鏂規(guī)硶錛屽畠閫氳繃javax.jms.Destination鎴朖NDI鏌ヨ鏉ユ寚瀹氱洰鏍囥?/td></tr><tr><td class="left">receive</td><td class="right">浠庨粯璁ゆ垨鎸囧畾鐨勭洰鏍囨帴鏀舵秷鎭紝浣嗗彧浼?xì)鍦ㄦ寚瀹氱殑鏃堕棿鍚庝紶閫掓秷鎭傛垜浠彲浠ラ氳繃receiveTimeout灞炴ф寚瀹氳秴鏃舵椂闂淬?/td></tr><tr><td class="left">convertAndSend</td><td class="right">榪欎釜鏂規(guī)硶濮旀墭MessageConverter<a target="_blank">鎺ュ彛</a>瀹炰緥澶勭悊杞崲榪囩▼錛岀劧鍚庡彂閫佹秷鎭嚦鎸囧畾鐨勭洰鏍囥?/td></tr><tr><td class="left">receiveAndConvert</td><td class="right">浠庨粯璁ゆ垨鎸囧畾鐨勭洰鏍囨帴鏀舵秷鎭傚茍灝嗘秷鎭漿鎹負(fù)Java瀵硅薄銆?/td></tr></tbody></table><p>銆銆鐩爣鍙互閫氳繃JNDI涓婁笅鏂囦繚瀛樺拰鑾峰彇銆傚綋閰嶇疆Spring紼嬪簭涓婁笅鏂囷紙application context錛夋椂錛屾垜浠彲浠ョ敤JndiObjectFactoryBean綾誨彇寰楀JMS鐨勫紩鐢ㄣ侱estinationResolver鎺ュ彛鏄敤鏉ユ妸鐩爣鍚嶇О瑙f瀽鎴怞MS鐩爣錛屽綋搴旂敤紼嬪簭瀛樺湪澶ч噺鐩爣鏃訛紝榪欐槸闈炲父鏈夌敤鐨勩侱ynamicDestinationResolver(DestinationResolver鐨勯粯璁ゅ疄鐜?鏄敤鏉ヨВ鏋愬姩鎬佺洰鏍囩殑銆?/p><p>銆銆 MessageConverter鎺ュ彛瀹氫箟浜?jiǎn)灏?a target="_blank">Java瀵硅薄</a>杞崲涓篔MS娑堟伅鐨勭害瀹氥傞氳繃榪欎釜杞崲鍣紝搴旂敤紼嬪簭浠g爜鍙互闆嗕腑浜庡鐞嗕簨鍔″璞★紝鑰屼笉鐢ㄤ負(fù)瀵硅薄濡備綍琛ㄧず涓篔MS娑堟伅榪欐牱鐨勫唴閮ㄧ粏鑺傛墍鍥伴ザ銆係impleMessageConverter(鍜孲impleMessageConverter102)鏄疢essageConverter鐨勯粯璁ゅ疄鐜般傚彲浣跨敤瀹冧滑鍒嗗埆灝哠tring杞崲涓篔MS TextMessage錛屽瓧鑺傛暟緇?byte[])杞崲涓篔MS BytesMessage錛孧ap杞崲涓篔MS MapMessage錛屽拰Serializable瀵硅薄杞崲涓篔MS ObjectMessage銆傛?zhèn)ㄤ篃鍙互缂栧啓鑷畾涔夌殑MessageConverter瀹炰緥錛岄氳繃XML緇戝畾妗嗘灦錛堜緥濡?a target="_blank">JAXB</a>錛?<a target="_blank">Castor</a>錛?a target="_blank">Commons Digester</a>錛?a target="_blank">XMLBeans</a>鎴?a target="_blank">XStream</a>錛夛紝鏉ュ疄鐜癤ML鏂囨。鍒癟extMessage瀵硅薄鐨勮漿鎹€?/p><h3>紺轟緥紼嬪簭</h3><p>銆銆鎴戝皢鐢ㄤ竴涓捶嬈劇敵璇峰鐞嗙郴緇燂紙鍛藉悕涓篖oanProc錛夌ず渚嬫潵婕旂ず濡備綍鍦↗MS搴旂敤紼嬪簭涓嬌鐢⊿pring銆備綔涓鴻捶嬈劇敵璇風(fēng)殑涓閮ㄥ垎錛孡oanProc閫氳繃鍙戦佽捶嬈捐鎯咃紙璐鋒ID錛屽熸柟鍚嶅瓧錛屽熸柟鐨凷SN錛岃捶嬈炬湡闄愬拰璐鋒鏁伴錛夛紝浠嶢US緋葷粺鑾峰緱淇$敤鍘嗗彶璇︽儏銆備負(fù)浜?jiǎn)绠渚胯搗瑙侊紝鎴戜滑鍩轟簬涓や釜鍩烘湰鍙傛暟鏉ヨ〃紺轟俊鐢ㄥ巻鍙茶鎯咃細(xì)淇$敤鍒嗘暟錛堝張鍚岶ICO寰楀垎錛夊拰璐鋒鏁伴銆傝鎴戜滑鍋囪澶勭悊淇$敤媯(gè)鏌ヨ姹傛槸鎸変互涓嬩笟鍔¤鍒欒繘琛岀殑錛?/p><ol type="1"><li>濡傛灉璐鋒鏁伴絳変簬鎴栦綆浜?000錛屽熸柟蹇呴』鑷沖皯鏈変竴涓?濂?鐨勪俊鐢紙涔熷氨鏄紝鍊熸柟鐨凢ICO寰楀垎鍦?80鍒?99涔嬮棿錛夈? </li><li>濡傛灉璐鋒鏁伴楂樹簬,000錛屽熸柟蹇呴』鑷沖皯鏈?寰堝ソ"鐨勪俊鐢紝鎰忓懗鐫鍊熸柟鐨勪俊鐢ㄥ緱鍒嗚楂樹簬700銆?</li></ol><h3>璐鋒鐢寵浣跨敤妗堜緥</h3><p>銆銆淇$敤璇鋒眰澶勭悊浣跨敤妗堜緥鍖呮嫭浠ヤ笅鍑犱釜姝ラ錛?/p><ol type="1"><li>鐢ㄦ埛鍦ㄨ捶嬈劇敵璇烽〉闈㈣緭鍏ヨ捶嬈捐鎯呭茍鎻愪氦璐鋒鐢寵銆? </li><li>鍙戦佽姹傚埌涓涓悕涓篊reditRequestSendQueue鐨勬秷鎭槦鍒椼傜劧鍚庣▼搴忓彂閫佽捶嬈捐鎯呭埌AUS緋葷粺錛岃幏鍙栦俊鐢ㄥ巻鍙茶鎯呫? </li><li>AUS緋葷粺浠庨槦鍒椾腑鎸戝嚭璐鋒璇︽儏錛屽茍浣跨敤璐鋒鍙傛暟浠庡畠鐨勬暟鎹簱涓幏鍙栦俊鐢ㄥ巻鍙蹭俊鎭? </li><li>鐒跺悗AUS灝嗘壘鍒扮殑鍊熸柟鐨勪俊鐢ㄥ巻鍙蹭俊鎭垱寤轟竴涓柊鐨勬秷鎭紝鍙戦佸埌涓涓柊鐨勫悕涓篊reditRequestReceiveQueue鐨勬秷鎭槦鍒椼? </li><li>鏈鍚庯紝LoanProc浠庢帴鏀墮槦鍒椾腑閫夊嚭鍝嶅簲娑堟伅錛屽鐞嗚捶嬈劇敵璇鋒潵鍐沖畾鏄惁鎵瑰噯鎴栧惁鍐崇敵璇楓?</li></ol><p>銆銆鍦ㄨ繖涓緥紼嬩腑錛屼袱涓秷鎭槦鍒楅兘閰嶇疆鍦ㄥ悓涓涓狫Boss MQ server涓娿備嬌鐢ㄦ渚嬬敤鍥?鐨勫簭鍒楀浘錛圫equenceDiagram錛夎〃紺?/p><p align="center"><a target="_blank"><img height="169" alt="搴忓垪鍥? src="http://dev2dev.bea.com.cn/images/image060511001.gif" width="300" border="0" /></a><br /><br />鍥?.璐鋒澶勭悊紼嬪簭鐨勫簭鍒楀浘 (鍗曞嚮鎴浘鏉ユ煡鐪嬪畬鏁磋鍥?</p><p>銆銆 涓嬮潰鐨勮〃3鏄劇ず浜?jiǎn)鍦ㄤ緥绋嬩腑鎴戞墍浣跨敤鐨勪笉鍚屾妧鏈拰<u><a target="_blank">寮婧?/a></u>妗嗘灦錛屽茍鎸夊簲鐢ㄩ昏緫灞傛帓鍒椼?/p><p>銆銆 琛?. 鍦↗MS搴旂敤紼嬪簭涓嬌鐢ㄧ殑妗嗘灦</p><table class="tabel-general" cellspacing="0" cellpadding="0" width="100%"><tbody><tr><th class="left">閫昏緫灞?/th><th class="right">鎶鏈?妗嗘灦</th></tr><tr><td class="left">MVC</td><td class="right">Spring MVC</td></tr><tr><td class="left">Service</td><td class="right">Spring Framework (version 2.1)</td></tr><tr><td class="left">JMS API</td><td class="right">Spring JMS</td></tr><tr><td class="left">JMS Provider</td><td class="right"><a target="_blank">JBoss</a> MQ (version 4.0.2)</td></tr><tr><td class="left">JMS Console</td><td class="right">Hermes</td></tr><tr><td class="left">IDE</td><td class="right">Eclipse 3.1</td></tr></tbody></table><h3>浣跨敤Hermes璁劇疆JMS璧勬簮</h3><p>銆銆涓轟簡(jiǎn)寮傛澶勭悊娑堟伅錛岄鍏堟垜浠渶瑕佹秷鎭槦鍒楀彂閫佸拰鎺ユ敹娑堟伅銆傛垜浠彲浠ョ敤Jboss閲岀殑閰嶇疆<a target="_blank">XML鏂囦歡</a>鍒涘緩涓涓柊鐨勬秷鎭槦鍒楋紝鐒跺悗浣跨敤JMS鎺у埗鍙版祻瑙堥槦鍒楃殑璇︾粏鎯呭喌銆傛竻鍗?鏄劇ず浜?jiǎn)閰嵕|甁MS鐨刋ML閰嶇疆浠g爜鐗囨柇錛堣繖涓簲璇ュ姞鍏ュ埌jbossmq-destinations-service.xml鏂囦歡錛屼綅浜?JBOSS_HOME%server lldeploy-hasingletonjm鏂囦歡澶逛笅銆傦級(jí)</p><p>銆銆 娓呭崟1.JBoss MQ Server涓奐MS闃熷垪鐨勯厤緗?/p><pre class="code"><!-- Credit Request Send Queue --> <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=CreditRequestSendQueue"> <depends optional-attribute-name="DestinationManager"> jboss.mq:service=DestinationManager </depends> </mbean> <!-- Credit Request Receive Queue --> <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=CreditRequestReceiveQueue"> <depends optional-attribute-name="DestinationManager"> jboss.mq:service=DestinationManager </depends> </mbean> </pre><p>銆銆鐜板湪錛岃鎴戜滑鐪嬬湅濡備綍浣跨敤涓涓悕涓篐ermes鐨凧MS宸ュ叿鏉ユ祻瑙堟秷鎭槦鍒椼?a target="_blank">Hermes</a>鏄竴涓狫ava Swing搴旂敤紼嬪簭錛屽畠鍙互鍒涘緩銆佺鐞嗗拰鐩戣JMS鎻愪緵鍟嗭紙渚嬪<a target="_blank">JBossMQ</a>錛?a target="_blank">WebSphereMQ</a>錛?a target="_blank">ActiveMQ</a>鍜?a target="_blank">Arjuna</a>鏈嶅姟鍣級(jí)閲岀殑JMS鐩爣銆備粠瀹冪殑<a target="_blank">緗戠珯</a>涓婁笅杞紿ermes錛岃В鍘嬬緝.zip鏂囦歡鍒版湰鍦扮洰褰曪紙渚嬪錛宑:dev oolshermes錛夈備竴鏃﹀畨瑁呭畬鎴愶紝鍙屽嚮鏂囦歡hermes.bat錛堜綅浜巄in鏂囦歡澶逛笅錛夊惎鍔ㄧ▼搴忋?/p><p>銆銆 瑕佸湪Hermes閲岄厤緗甁BossMQ鏈嶅姟鍣紝璇峰弬鑰僅ermes緗戠珯涓婄殑榪欎釜<a target="_blank">婕旂ず</a>銆傚畠鏈夌潃鍑?guó)檳茬殑step-by-step鍙鍖栨寚紺烘潵閰嶇疆JBoss MQ銆傚綋閰嶇疆涓涓柊鐨凧NDI鍒濆涓婁笅鏂囨椂錛岃杈撳叆涓嬮潰鐨勪俊鎭?/p><ul type="disc"><li>providerURL = jnp://localhost:1099 </li><li>initialContextFactory = org.jnp.interfaces.NamingContextFactory </li><li>urlPkgPrefixes = org.jnp.interfaces:org.jboss.naming </li><li>securityCredentials = admin </li><li>securityPrincipal = admin </li></ul><p>銆銆褰撴?zhèn)ㄥ垱寰忔柊鐨勭洰鏍囨椨灱岃偩撳叆queue/CreditRequestSendQueue鍜宷ueue/CreditRequestReceiveQueue銆傚浘2鏄劇ず浜?jiǎn)JMS鎺у埗鍙扮殑涓葷獥鍙o紝鍏朵腑鏈変負(fù)JMS渚嬬▼鍒涘緩鐨勬柊鐨勬秷鎭槦鍒椼?/p><p align="center"><a target="_blank"><img height="159" alt="Hermes涓墍鏈夌洰鏍囩殑鎴浘" src="http://dev2dev.bea.com.cn/images/image060511003.jpg" width="312" border="0" /></a><br /><br />鍥?2. Hermes涓墍鏈夌洰鏍囩殑鎴浘.錛堝崟鍑?yán)L埅鍥炬潵鏌ョ湅瀹屾暣瑙嗗浘錛?/p><p>銆銆 涓嬮潰鐨勫浘3鏄劇ず浜?jiǎn)鍦ㄤ粠娑堟伅鍙戦佽呯被鍙戦佹秷鎭埌CreditRequestSendQueue鍚庯紝Hermes JMS鎺у埗鍙板強(qiáng)娑堟伅闃熷垪鐨勬埅鍥俱傛?zhèn)ㄥ彲浠ョ湅瑙佹?涓秷鎭湪闃熷垪涓紝鎺у埗鍙版樉紺轟簡(jiǎn)娑堟伅璇︽儏錛屼緥濡傛秷鎭疘D錛屾秷鎭洰鏍囷紝鏃墮棿鎴沖拰瀹為檯鐨勬秷鎭唴瀹廣?/p><p align="center"><a target="_blank"><img height="159" alt="Hermes涓墍鏈夐槦鍒楃殑鎴浘" src="http://dev2dev.bea.com.cn/images/image060511005.jpg" width="312" border="0" /></a><br /><br />鍥?3. Hermes涓墍鏈夐槦鍒楃殑鎴浘.錛堝崟鍑?yán)L埅鍥炬潵鏌ョ湅瀹屾暣瑙嗗浘錛?/p><p>銆銆 鍦ㄤ緥紼嬩腑浣跨敤鐨勯槦鍒楀悕縐板拰鍏朵粬JMS鍜孞NDI鍙傛暟瑙佽〃 4銆?/p><p>銆銆 琛?. Spring JMS閰嶇疆鍙傛暟</p><table class="tabel-general" cellspacing="0" cellpadding="0" width="100%"><tbody><tr><th class="left">鍙傛暟鍚嶇О</th><th class="right">鍙傛暟鍊?/th></tr><tr><td class="left">Initial Context Factory</td><td class="right">org.jnp.interfaces.NamingContextFactory</td></tr><tr><td class="left">Provider URL</td><td class="right">localhost:8080</td></tr><tr><td class="left">Initial Context Factory URL Packages</td><td class="right">org.jnp.interfaces:org.jboss.naming</td></tr><tr><td class="left">Queue Connection Factory</td><td class="right">UIL2ConnectionFactory</td></tr><tr><td class="left">Queue Name</td><td class="right">queue/CreditRequestSendQueue, queue/CreditRequestReceiveQueue</td></tr></tbody></table><h3>Spring閰嶇疆</h3><p>銆銆鏃㈢劧鎴戜滑宸茬粡鏈変簡(jiǎn)榪愯渚嬬▼鎵闇瑕佺殑JMS鐩爣錛岀幇鍦ㄨ浜?jiǎn)瑙g?a target="_blank">XML</a> Spring閰嶇疆鏂囦歡錛堝悕涓簊pring-jms.xml錛夋潵緇勯厤JMS緇勪歡鐨勫叿浣撶粏鑺備簡(jiǎn)銆傝繖浜涚粍浠舵槸鏍規(guī)嵁Inversion of Controller (IOC)<a target="_blank">璁捐妯″紡</a>閲岀殑璁劇疆鏂瑰紡娉ㄥ叆鍘熷垯錛坰etter injection principle錛夛紝鐢↗MS瀵硅薄瀹炰緥綾葷粍閰嶇殑銆傝鎴戜滑璇︾粏鏌ョ湅榪欎簺緇勪歡錛屽茍涓烘瘡涓涓狫MS緇勪歡婕旂ず涓孌礨ML閰嶇疆浠g爜銆?/p><p>銆銆 JNDI涓婁笅鏂囨槸鍙栧緱JMS璧勬簮鐨勮搗濮嬩綅緗紝鍥犳棣栧厛鎴戜滑瑕侀厤緗甁NDI妯℃澘銆傛竻鍗?鏄劇ず浜?jiǎn)鍚嶄负jndiTemplate鐨凷pring bean錛屽叾涓垪鏈塉NDI鍒濆涓婁笅鏂囨墍蹇呴渶鐨勫父鐢ㄥ弬鏁般?/p><p>銆銆 娓呭崟2. JNDI涓婁笅鏂囨ā鏉?/p><pre class="code"><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> </pre><p>銆銆鎺ョ潃錛屾垜浠厤緗槦鍒楄繛鎺ュ伐鍘傘傛竻鍗?鏄劇ず浜?jiǎn)闃熷垪杩炴帴宸ュ巶鐨勯厤缃?/p><p>銆銆 娓呭崟3. JMS闃熷垪榪炴帴宸ュ巶閰嶇疆</p><pre class="code"><bean id="jmsQueueConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiTemplate"> <ref bean="jndiTemplate"/> </property> <property name="jndiName"> <value>UIL2ConnectionFactory</value> </property> </bean> </pre><p>銆銆鎴戜滑瀹氫箟2涓狫MS鐩爣鏉ュ彂閫佸拰鎺ユ敹娑堟伅銆傝鎯呰娓呭崟4鍜?銆?/p><p>銆銆 娓呭崟4. 鍙戦侀槦鍒楅厤緗?/p><pre class="code"><bean id="sendDestination" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiTemplate"> <ref bean="jndiTemplate"/> </property> <property name="jndiName"> <value>queue/CreditRequestSendQueue</value> </property> </bean> </pre><p>銆銆娓呭崟5. 鎺ユ敹闃熷垪閰嶇疆</p><pre class="code"><bean id="receiveDestination" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiTemplate"> <ref bean="jndiTemplate"/> </property> <property name="jndiName"> <value>queue/CreditReqeustReceiveQueue</value> </property> </bean> </pre><p>銆銆鐒跺悗鎴戜滑鍐嶆潵閰嶇疆JmsTemplate緇勪歡銆傚湪渚嬬▼涓垜浠嬌鐢↗msTemplate102銆傚悓鏃朵嬌鐢╠efaultDestination灞炴ф潵鎸囧畾JMS鐩爣銆?/p><p>銆銆 娓呭崟6. JMS妯℃澘閰嶇疆</p><pre class="code"><bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate102"> <property name="connectionFactory"> <ref bean="jmsQueueConnectionFactory"/> </property> <property name="defaultDestination"> <ref bean="destination"/> </property> <property name="receiveTimeout"> <value>30000</value> </property> </bean> </pre><p>銆銆鏈鍚庢垜浠厤緗彂閫佽呭拰鎺ユ敹鑰呯粍浠躲傛竻鍗?鍜?鍒嗗埆鏄疭ender 鍜?Receiver瀵硅薄鐨勯厤緗?/p><p>銆銆 娓呭崟7. JMS Sender閰嶇疆</p><pre class="code"><bean id="jmsSender" class="springexample.client.JMSSender"> <property name="jmsTemplate"> <ref bean="jmsTemplate"/> </property> </bean> </pre><p>銆銆娓呭崟8. JMS Receiver閰嶇疆</p><pre class="code"><bean id="jmsReceiver" class="springexample.client.JMSReceiver"> <property name="jmsTemplate"> <ref bean="jmsTemplate"/> </property> </bean> </pre><h3>嫻嬭瘯鍙?qiáng)鐩戣?/h3><p>銆銆鎴戝啓浜?jiǎn)涓涓祴璇曠被錛屽懡鍚嶄負(fù)LoanApplicationControllerTest錛岀敤鏉ユ祴璇昄oanProc紼嬪簭銆傛垜浠彲浠ヤ嬌鐢ㄨ繖涓被鏉ヨ瀹氳捶嬈懼弬鏁頒互鍙?qiáng)璋冪敤淇$敤璇锋眰鏈嶅姟绫汇?/p><p>銆銆 璁╂垜浠湅涓涓嬩笉浣跨敤Spring JMS API鑰屼嬌鐢ㄤ紶緇烰MS寮鍙戦斿緞鐨勬秷鎭彂閫佽呭疄渚嬨傛竻鍗?鏄劇ず浜?jiǎn)MessageSenderJMS綾婚噷鐨剆endMessage鏂規(guī)硶錛屽叾涓寘鍚簡(jiǎn)浣跨敤JMS API澶勭悊娑堟伅鐨勬墍鏈夊繀闇姝ラ銆?/p><p>銆銆 娓呭崟9. 浼犵粺JMS瀹炰緥</p><pre class="code">public void sendMessage() { queueName = "queue/CreditRequestSendQueue"; System.out.println("Queue name is " + queueName); /* * Create JNDI Initial Context */ try { Hashtable env = new Hashtable(); env.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); env.put("java.naming.provider.url","localhost"); env.put("java.naming.factory.url.pkgs", "org.jnp.interfaces:org.jboss.naming"); jndiContext = new InitialContext(env); } catch (NamingException e) { System.out.println("Could not create JNDI API " + "context: " + e.toString()); } /* * Get queue connection factory and queue objects from JNDI context. */ try { queueConnectionFactory = (QueueConnectionFactory) jndiContext.lookup("UIL2ConnectionFactory"); queue = (Queue) jndiContext.lookup(queueName); } catch (NamingException e) { System.out.println("JNDI API lookup failed: " + e.toString()); } /* * Create connection, session, sender objects. * Send the message. * Cleanup JMS connection. */ try { queueConnection = queueConnectionFactory.createQueueConnection(); queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); queueSender = queueSession.createSender(queue); message = queueSession.createTextMessage(); message.setText("This is a sample JMS message."); System.out.println("Sending message: " + message.getText()); queueSender.send(message); } catch (JMSException e) { System.out.println("Exception occurred: " + e.toString()); } finally { if (queueConnection != null) { try { queueConnection.close(); } catch (JMSException e) {} } } } </pre><p>銆銆鐜板湪錛屾垜浠潵鐪嬬湅浣跨敤浜?jiǎn)Spring鐨勬秷鎭彂閫佽呭疄渚嬨傛竻鍗?0鏄劇ず浜?jiǎn)MessageSenderSpringJMS綾諱腑send鏂規(guī)硶鐨勪唬鐮併?/p><p>銆銆 娓呭崟10. 浣跨敤Spring API鐨凧MS瀹炰緥</p><pre class="code">public void send() { try { ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext(new String[] { "spring-jms.xml"}); System.out.println("Classpath loaded"); JMSSender jmsSender = (JMSSender)appContext.getBean("jmsSender"); jmsSender.sendMesage(); System.out.println("Message sent using Spring JMS."); } catch(Exception e) { e.printStackTrace(); } } </pre><p>銆銆濡傛?zhèn)ㄦ墍瑙侊紝閫氳繃浣跨敤閰嶇疆鏂囦歡錛屾墍鏈変笌綆$悊JMS璧勬簮鏈夊叧鐨勬楠ら兘灝嗕氦鐢盨pring瀹瑰櫒澶勭悊銆傛垜浠彧闇寮曠敤涓涓狫MSSender瀵硅薄錛岀劧鍚庤皟鐢ㄥ璞¢噷鐨剆endMessage鏂規(guī)硶銆?/p><h3>緇撴潫璇?/h3><p>銆銆鍦ㄦ湰鏂囦腑錛屾垜浠湅鍒癝pring妗嗘灦鏄浣曚嬌鐢↗MS API綆鍖栧紓姝ユ秷鎭紶閫掋係pring鍘繪帀浜?jiǎn)鎵鏈変嬌鐢↗MS澶勭悊娑堟伅鎵蹇呴渶鐨勬牱鏈唬鐮侊紙渚嬪寰楀埌涓涓槦鍒楄繛鎺ュ伐鍘傦紝浠嶫ava浠g爜閲屽垱寤洪槦鍒楀拰浼?xì)璇濆璞″Q屽湪榪愯鏃朵嬌鐢ㄩ厤緗枃浠跺瀹冧滑榪涜緇勯厤錛夈傛垜浠彲浠ュ姩鎬佺殑浜ゆ崲JMS璧勬簮瀵硅薄錛岃屼笉蹇呬慨鏀逛換浣旿ava浠g爜錛岃繖瑕佹劅璋nversion of Control (IOC) 鍘熷垯鐨勫姏閲忋?/p><p>銆銆鏃㈢劧寮傛娑堟伅浼犻掓槸SOA妗嗘灦鐨勬暣浣撴瀯鎴愰儴鍒嗭紝Spring寰堥傚悎綰沖叆鍒癝OA宸ュ叿闆嗐傛澶栵紝JMS綆$悊宸ュ叿錛堝Hermes錛変嬌寰楀垱寤恒佺鐞嗗拰鐩戠潱JMS璧勬簮鍙樺緱瀹規(guī)槗錛岀壒鍒槸瀵逛簬緋葷粺綆$悊鍛樻潵璇淬?/p><h3>鍙傝冭祫鏂?/h3><ul type="disc"><li>鏈枃閰嶅鐨?a target="_blank">紺轟緥浠g爜</a></li><li><a target="_blank">Spring JMS documentation</a></li><li>"<a target="_blank">1-2-3 Messaging with Spring JMS</a>" </li><li><a target="_blank">JBoss MQ wiki</a></li></ul><p><strong>鍘熸枃鍑哄:</strong><a target="_blank">http://www.onjava.com/pub/a/onjava/2006/02/22/asynchronous-messaging-with-spring-jms.html</a></p><img src ="http://www.tkk7.com/clant/aggbug/85151.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/clant/" target="_blank">BPM </a> 2006-12-03 10:11 <a href="http://www.tkk7.com/clant/articles/85151.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://bjfljg.com" target="_blank">亚洲白色白色永久观看</a>| <a href="http://ylptt.com" target="_blank">黄网站色成年片大免费高清</a>| <a href="http://socgl.com" target="_blank">最近最好的中文字幕2019免费</a>| <a href="http://7299jj.com" target="_blank">日韩色视频一区二区三区亚洲</a>| <a href="http://caoliushequ9.com" target="_blank">亚洲乱码中文字幕手机在线 </a>| <a href="http://930mk.com" target="_blank">亚洲日本在线观看视频</a>| <a href="http://an930.com" target="_blank">日韩免费的视频在线观看香蕉 </a>| <a href="http://sewo66.com" target="_blank">免费精品一区二区三区第35</a>| <a href="http://dasheng178.com" target="_blank">亚洲成a人片在线观</a>| <a href="http://5d8f.com" target="_blank">亚洲福利视频一区二区</a>| <a href="http://avdian126.com" target="_blank">最近免费中文字幕大全高清大全1</a>| <a href="http://youtobey.com" target="_blank">中文字幕 亚洲 有码 在线</a>| <a href="http://www-7607.com" target="_blank">亚洲午夜无码片在线观看影院猛</a>| <a href="http://vvihh.com" target="_blank">免费观看无遮挡www的小视频</a>| <a href="http://69ct.com" target="_blank">菠萝菠萝蜜在线免费视频</a>| <a href="http://8xk7u9.com" target="_blank">午夜亚洲AV日韩AV无码大全</a>| <a href="http://wwwy6x22.com" target="_blank">午夜视频在线在免费</a>| <a href="http://ttays.com" target="_blank">A级毛片高清免费视频在线播放</a>| <a href="http://zjyxc.com" target="_blank">一区二区亚洲精品精华液</a>| <a href="http://www876444.com" target="_blank">国产精品亚洲一区二区三区在线 </a>| <a href="http://szybzc.com" target="_blank">毛片免费全部播放一级</a>| <a href="http://www-777768.com" target="_blank">中文字幕无线码中文字幕免费</a>| <a href="http://xyzch.com" target="_blank">亚洲中文字幕无码一去台湾</a>| <a href="http://kkk28.com" target="_blank">亚洲真人无码永久在线</a>| <a href="http://xbooktxt.com" target="_blank">最近中文字幕mv免费高清电影</a>| <a href="http://txa6.com" target="_blank">a在线免费观看视频</a>| <a href="http://0147222.com" target="_blank">妇女自拍偷自拍亚洲精品</a>| <a href="http://0515bh.com" target="_blank">亚洲国产美女精品久久</a>| <a href="http://wilbysec.com" target="_blank">亚洲综合另类小说色区色噜噜</a>| <a href="http://kelingdq.com" target="_blank">毛片a级毛片免费播放下载</a>| <a href="http://ncmyw.com" target="_blank">在线观看免费无码专区</a>| <a href="http://www33399.com" target="_blank">无码天堂亚洲国产AV</a>| <a href="http://szq18888.com" target="_blank">亚洲丰满熟女一区二区v</a>| <a href="http://bobostrong31.com" target="_blank">亚洲午夜久久久久久久久久</a>| <a href="http://sanyoumiaomu.com" target="_blank">永久免费av无码网站大全</a>| <a href="http://828556.com" target="_blank">成年人免费的视频</a>| <a href="http://gzmcmy.com" target="_blank">午夜免费啪视频在线观看</a>| <a href="http://yy7699.com" target="_blank">波霸在线精品视频免费观看</a>| <a href="http://142121.com" target="_blank">鲁死你资源站亚洲av</a>| <a href="http://sxhengshan.com" target="_blank">亚洲中文字幕无码中文字</a>| <a href="http://fuhui123.com" target="_blank">一区二区三区亚洲</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>