锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产精品特色大片观看完整版,亚洲国产精品线观看不卡,亚洲自偷自偷图片http://m.tkk7.com/keweibo/category/28980.htmlAs long as you are there to lead me ,I won't lose my way zh-cnWed, 16 Jan 2008 04:06:01 GMTWed, 16 Jan 2008 04:06:01 GMT60java.lang.IllegalAccessError: tried to access method net.sf.ehcache.CacheManager.<init>()V from class org.hibernate.cache.EhCacheProviderhttp://m.tkk7.com/keweibo/articles/175619.htmlKEKEWed, 16 Jan 2008 02:36:00 GMThttp://m.tkk7.com/keweibo/articles/175619.htmlhttp://m.tkk7.com/keweibo/comments/175619.htmlhttp://m.tkk7.com/keweibo/articles/175619.html#Feedback0http://m.tkk7.com/keweibo/comments/commentRss/175619.htmlhttp://m.tkk7.com/keweibo/services/trackbacks/175619.html java.lang.IllegalAccessError: tried to access method net.sf.ehcache.CacheManager.<init>()V from class org.hibernate.cache.EhCacheProvider
姝ょ被閿欒閿欒淇℃伅,涓婄綉涓婃煡浜嗕竴涓?澶ф浜嗚В浜嗕笅,鍘熸潵鏄疛AR鏂囦歡鐗堟湰闂,
The latest hibernate uses ehcache 1.2 - you seem to be using an older version (1.1 maybe). Upgrade your ehcache library and report back if you still have problems.

鍘熸潵欏圭洰涓嬌鐢ㄤ簡ehcache-1.1.jar鏂囦歡,
鎶婂畠鎹㈡垚ehcache-1.2.3.jar鏂囦歡鍚?
閲嶆柊鍚姩JBOSS鏈嶅姟鍣?闂瑙e喅~~~~

KE 2008-01-16 10:36 鍙戣〃璇勮
]]>
log4j:ERROR A "org.jboss.logging.util.OnlyOnceErrorHandler" object is not assignable to a "org.apache.log4j.spi.ErrorHandler" variable鐨勫紓甯?/title><link>http://m.tkk7.com/keweibo/articles/175618.html</link><dc:creator>KE</dc:creator><author>KE</author><pubDate>Wed, 16 Jan 2008 02:30:00 GMT</pubDate><guid>http://m.tkk7.com/keweibo/articles/175618.html</guid><wfw:comment>http://m.tkk7.com/keweibo/comments/175618.html</wfw:comment><comments>http://m.tkk7.com/keweibo/articles/175618.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/keweibo/comments/commentRss/175618.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/keweibo/services/trackbacks/175618.html</trackback:ping><description><![CDATA[<p><font size="3">log4j鏄竴涓緢濂界殑寮婧愮殑鏃ュ織欏圭洰錛屼笅闈㈠氨鎴戝湪瀹為檯涓嬌鐢ㄧ殑涓浜涙儏鍐典綔涓涓皬緇擄紙鎴戞墍鍐欑殑鏄互spring涓烘鏋剁殑榪愮敤錛屼箣鎵浠ヨ鎻愬埌榪欑偣錛屾槸鍥犱負鍦╯pring涓笓闂ㄦ湁澶勭悊log4j鐨勫湴鏂癸紝鑰屾垜涔熺敤鍒頒簡榪欎簺鍦版柟錛夈?/font></p> <p><font size="3"> 鍦ㄤ嬌鐢ㄧ殑絎竴姝ヤ綘瑕佹槑鐧戒綘鎵鍙戝竷鐨剋eb欏圭洰鎵浣跨敤鐨勬湇鍔″櫒錛屽洜涓轟笉鍚岀殑鏈嶅姟鍣ㄥ浜庝嬌鐢╨og4j鏄湁浜涗笉鍚岀殑錛屾垜鍦ㄥ疄闄呬嬌鐢ㄤ腑涓昏鏄敤tomcat鍜宩boss涓ょ被錛屽浜巘omcat,瀹冩湰韜槸娌℃湁閰嶇疆log4j鐨勶紝鎵浠ヤ嬌鐢ㄨ搗鏉ュ拰甯歌鐨勪竴鏍鳳紱鑰屽湪jboss涓畠鏄湰韜厤緗簡log4j鐨勶紝鎵浠ユ湁鏃跺欐垜浠湪鐪嬮」鐩唬鐮佹椂錛屽叾鏁翠釜欏圭洰騫舵病鏈塴og4j鐨勯厤緗枃浠訛紝鑰屽湪涓浜涚被涓粛鐒跺畾涔変簡Logger,渚嬪static Logger log = org.apache.log4j.Logger.getLogger(UserDaoImple.class);錛岃繖灝辮〃鏄庡紑鍙戣呮墦綆椾嬌鐢╦boss榛樿鐨刲og4j鐨勯厤緗紝鎴戜滑鍙互鍦╦boss涓嬬殑瀵瑰簲鐨刲og鐩綍涓嬬殑server.log涓湅鍒版棩蹇楋紝jboss鏈韓鐨刲og4j鐨勯厤緗槸灝哾ebug,info綰х殑鏃ュ織鍐欏湪server.log涓紝鑰屽儚error絳夌駭鍒瘮杈冮珮鐨勬棩蹇楁墦鍗板埌鎺у埗鍙頒笂錛岃屽啓鍒皊erver.log涓殑鏃ュ織姣旇緝澶氾紝騫朵笉鏂逛究鏌ョ湅銆備簬鏄垜浠兂鍒頒嬌鐢ㄨ嚜宸辯殑log4j閰嶇疆鍐欏埌鏌愪釜鍏蜂綋鐨勬枃浠朵腑錛堟敞鎰忔枃浠惰鍏堝緩绔嬶紝鎵嶈兘蹇橀噷闈㈠啓涓滆タ錛宭og4j鑷繁涓嶈兘寤虹珛鏂囦歡錛夛紝浣嗚繖閲屽洜涓簀boss鏈夊畠鑷繁鐨刲og4j閰嶇疆錛屾墍浠ュ鏋滄垜浠厤緗殑log4j鍖呭惈Console鐨凙ppender鏃訛紝灝變細鍑洪敊錛岄敊璇被浼間簬</font></p> <p><font size="3"><font color="#ff0000">ERROR: invalid console appender config detected, console stream is looping.</font><br /> 瑙e喅鏂規硶涓鏄笉鐢–onsole鐨凙ppender,鎴栬呮敼jboss鐨勯厤緗枃浠訛紝鍦╦boss-service.xml鏂囦歡閲?鎶?br /> <mbean code="org.jboss.logging.Log4jService" name="jboss.system:type=Log4jService,service=Logging"><br />         <attribute name="ConfigurationURL">resource:log4j.xml</attribute><br />         <strong><attribute name="CatchSystemOut">false</attribute></strong><br />         <attribute name="Log4jQuietMode">true</attribute><br /> </mbean>銆?/font></p> <p><font size="3">鎴戝緩璁笉鐢–onsole鐨凙ppender<img alt="" src="http://blog.csdn.net/fckeditor/editor/images/smiley/msn/teeth_smile.gif" />錛屽綋鐒惰繖鏄jboss3.2.x鏄繖鏍鳳紝<strong>瀵逛簬jboss4.0.x濡傛灉鎴戜滑瑕佺敤鑷繁鐨刲og4j閰嶇疆鐓т笂榪版敼榪樻槸浼氭湁闂錛屼細鏈夌被浼間簬</strong></font><font color="#ff0000"><font size="3"><strong>log4j:ERROR A "org.jboss.logging.util.OnlyOnceErrorHandler" object is not assignable to a "org.apache.log4j.spi.ErrorHandler" variable</strong></font><font color="#000000" size="3"><strong>鐨勫紓甯革紝瑙e喅鏂規硶鏄妸/server/default/jbossweb-tomcat55.sar/META-INF/jboss-service.xml 涓殑浠ヤ笅涓や釜鐔熸倝鏀規垚true<br /> <attribute name="Java2ClassLoadingCompliance"><span style="color: red">true</span></attribute> <br /> <attribute name="UseJBossWebLoader"><span style="color: red">true</span></attribute> </strong></font></font></p> <p><font color="#ff0000"><font color="#000000" size="3"><strong>浠ヤ笂灝辨槸浣跨敤jboss鏈嶅姟鍣ㄥ彲鑳藉嚭鐜扮殑闂錛岃В鍐充簡榪欎簺鍐嶆潵浣跨敤log4j灝辨瘮杈冪畝鍗曚簡銆?/strong></font></font></p> <p><font color="#ff0000"><font color="#000000" size="3">涓嬮潰璇磋瀵逛簬閲囩敤浜唖pring妗嗘灦鐨勯」鐩浣曚嬌鐢╨og4j,鍦╯pring涓嬌鐢╨og4j錛屾湁浜涙柟渚跨殑鍦版柟錛?/font></font></p> <p><font color="#ff0000"><font color="#000000" size="3">1. 鍔ㄦ佺殑鏀瑰彉璁板綍綰у埆鍜岀瓥鐣ワ紝鍗充慨鏀筶og4j.properties,涓嶉渶瑕侀噸鍚疻eb搴旂敤錛岃繖闇瑕佸湪web.xml涓緗竴涓嬨?br /> 2. 鎶妉og鏂囦歡瀹氬湪 /WEB-INF/logs/ 鑰屼笉闇瑕佸啓緇濆璺緞銆?<br /> 3. 鍙互鎶妉og4j.properties鍜屽叾浠杙roperties涓璧鋒斁鍦?WEB-INF/ 錛岃屼笉鏄疌lass-Path銆?/font></font></p> <p><font color="#ff0000"><font color="#000000" size="3">棣栧厛鎴戜滑鍦╳eb.xml涓渶瑕佽瀹氫竴涓?/font></font></p> <p><font color="#ff0000"><font color="#000000" size="3"><context-param> <br /> <param-name>log4jConfigLocation</param-name> <br /> <param-value>WEB-INF/log4j.properties</param-value> <br /> </context-param> <br /> <br /> <context-param> <br /> <param-name>log4jRefreshInterval</param-name> <br /> <param-value>60000</param-value> <br /> </context-param> <br /> <br /> <listener> <br /> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> <br /> </listener> <br /> 鍏朵腑絎簩閮ㄥ垎灝辨槸鑳藉鍔ㄦ佷慨鏀筶og4j.properties鐨勫叧閿紝瀹瑰櫒浼氭瘡60縐掓壂鎻弆og4j鐨勯厤緗枃浠?nbsp;銆?/font></font><font color="#ff0000"><font color="#000000" size="3">瀵逛簬log4j鐨勯厤緗枃浠跺浣曞啓錛岃繖灝變笉澶氳浜嗭紝澶у鍙互鍘籫oogle錛屾湁涓鐐瑰氨鏄垜浠鏋滅敤RollingFileAppender鎴栬匜ileAppender鏃訛紝鍙互閫氳繃${webapp.root}鏉ュ畾浣嶅埌鏈嶅姟鍣ㄧ殑鍙戝竷鐨勮欏圭洰涓嬶紝榪欐槸spring鎶妛eb鐩綍鐨勮礬寰勫帇鍏ュ埌浜唚ebapp.root鐨勭郴緇熷彉閲忋傜劧鍚庯紝鍦╨og4j.properties 閲屽氨鍙互榪欐牱瀹氫箟logfile浣嶇疆 <br /> log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/myfuse.log <br /> 濡傛灉鏈夊涓獁eb搴旂敤錛屾晈ebapp.root鍙橀噺閲嶅錛屽彲浠ュ湪context-param閲屽畾涔墂ebAppRootKey銆?/font></font></p> <p><font color="#ff0000"><font color="#000000" size="3"><font size="3">褰撴垜浠畾涔夊畬log4j.properties鍚庯紝鍓╀笅鐨勫氨鏄湪闇瑕佽褰曠殑class涓璶ew 鍑篖ogger浜?img alt="" src="http://blog.csdn.net/fckeditor/editor/images/smiley/msn/teeth_smile.gif" /><br /> <br /> </font></font></font></p> <br /> <br /> <p id="TBPingURL">Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1067141</p> <img src ="http://m.tkk7.com/keweibo/aggbug/175618.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/keweibo/" target="_blank">KE</a> 2008-01-16 10:30 <a href="http://m.tkk7.com/keweibo/articles/175618.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>杞?鐢⊿pring蹇熷紑鍙慾ms搴旂敤錛圝BOSS鏈嶅姟鍣級http://m.tkk7.com/keweibo/articles/175545.htmlKEKETue, 15 Jan 2008 13:00:00 GMThttp://m.tkk7.com/keweibo/articles/175545.htmlhttp://m.tkk7.com/keweibo/comments/175545.htmlhttp://m.tkk7.com/keweibo/articles/175545.html#Feedback1http://m.tkk7.com/keweibo/comments/commentRss/175545.htmlhttp://m.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 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 国产亚洲精品观看91在线| 亚洲中文字幕视频国产| 久久久久久亚洲精品成人| 精品亚洲永久免费精品| 亚洲国产精彩中文乱码AV| 天堂在线免费观看| 亚洲av无码专区在线播放| 99热这里有免费国产精品| 亚洲美女精品视频| 在线看片无码永久免费视频 | 亚洲一区无码精品色| 一级毛片正片免费视频手机看| 亚洲七七久久精品中文国产| 一级毛片大全免费播放下载 | 国产精品麻豆免费版| 一区二区三区免费在线视频 | a级精品九九九大片免费看 | 中文字幕无码精品亚洲资源网久久| 免费观看成人毛片a片2008| 亚洲国产欧美日韩精品一区二区三区 | 亚洲第一二三四区| 成人毛片免费网站| 国产福利免费视频| 亚洲黄色在线网站| 成人免费在线视频| 久99久无码精品视频免费播放| 亚洲综合视频在线| 白白国产永久免费视频| 国产精品免费久久久久电影网| 亚洲人成网www| 天天摸天天操免费播放小视频| 人成免费在线视频| 亚洲沟沟美女亚洲沟沟| 国产精品二区三区免费播放心| 99re6在线视频精品免费| 精品亚洲成A人无码成A在线观看| 一级毛片直播亚洲| 18级成人毛片免费观看| 免费一级全黄少妇性色生活片| 久久精品国产亚洲AV无码娇色 | 亚洲午夜福利AV一区二区无码 |