mle ESB娴呮瀽七鈥斺€旂姸鎬佹満妯″紡

mle ESB娴呮瀽7鈥斺€旂姸鎬佹満妯″紡

鏈潵搴旇缁х画浠嬬粛鍚勪釜缁勪欢鐨勫惎鍔ㄦ祦绋嬶紝杩欓噷鍏堣ˉ鍏呬笅mule鎵€浣跨敤鐨勪竴浜涜璁℃ā寮忥紝鏂逛究浠庡畯瑙備笂瀵筸ule鐨勪唬鐮佺粨鏋勮繘琛岀悊瑙c€?/p>

棣栧厛浠嬬粛鐨勬槸鐘舵€佹満妯″紡锛岃妯″紡鍦╩ule涓殑浣跨敤闅忓鍙銆傚叿浣撶姸鎬佹満绠$悊鐨勫疄鐜板涓嬶細

聽涓ユ牸閬靛惊SEDA瑙勮寖锛屼竴涓姸鎬佸氨鏄竴涓樁娈碉紝姣忎釜phase鍙叧蹇冨綋鍓嶆槸鍚﹀彲浠ヨ繘鍏ヨ鐘舵€侊紝鎺ョ潃缁熶竴璋冪敤invokePhase锛屽湪璇ュ嚱鏁颁腑杩涜鐘舵€佺殑璁剧疆浠ュ強鍥炶皟鍑芥暟鐨勮皟鐢ㄣ€傝繖閲屼娇鐢ㄥ摢涓洖璋冨嚱鏁扮敱澶栭儴浼犲叆锛岄噰鐢ㄤ簡Command妯″紡銆?br>mle ESB娴呮瀽七鈥斺€旂姸鎬佹満妯″紡
聽閽堝鐘舵€佷箣闂寸殑鍙樿縼锛岄兘闇€瑕佸搴旂殑manager杩涜绠$悊銆傞拡瀵筸ule context浠ュ強registry锛坱ransient registry锛宺egistry broker锛夋湁瀵瑰簲鐨刲ifecycle杩涜鐢熷懡鍛ㄦ湡鐨勭鐞嗐€傝繖涓変釜lifecycle manager 閮藉湪mule context鍒涘缓鏃惰瀹炰緥鍖栵紝鑰宻pring registry鐨刲ifecycle manager鍦╯tart鏃惰瀹炰緥鍖栥€?/p>

聽mule context娌℃湁娉ㄥ唽鍗曠嫭娉ㄥ唽鍏剁姸鎬侊紝鑰屾槸浣跨敤榛樿鐨勭姸鎬佹満锛屼絾鏄敞鍐屼簡鐘舵€佸彉杩佽〃銆傛鏃秈nvoke鐨勫璞★紝鍦╨ifecycle Manager鍒濆鍖栨槸灏辩敱澶栭儴浼犲叆銆?/p>

姝ゅ杩樹細涓簃odel锛宑onnector锛宖low锛宑omponent绛夊疄渚嬪垱寤哄搴旂殑lifecycle manager锛屽苟瑙﹀彂瀵瑰簲瀹炰緥鐨刬nit鍑芥暟锛屽湪init鍑芥暟涓缃搴旂殑娑堟伅澶勭悊鍑芥暟閾撅紝娑堟伅鐩戝惉鍑芥暟锛屽苟灏嗘秷鎭敞鍏ュ埌mule context涓€傞拡瀵规瘡涓€涓猻eda stage瀹炰緥锛岄兘浼氫负涔嬪垱寤轰竴涓簨浠堕槦鍒椼€?/p>

鍦ㄨ皟鐢╯tart涔嬪悗锛屾墍鏈夊璞$殑涔熶細閫氳繃鐢熷懡鍛ㄦ湡绠$悊瑙﹀彂鍏秙tart鍑芥暟鐨勮皟鐢紝浠庤€屽畬鎴愬疄渚嬬殑鍚姩銆?/p>

mle ESB娴呮瀽七鈥斺€旂姸鎬佹満妯″紡

姣忎竴涓惈鏈夌敓鍛藉懆鏈熺殑瀵硅薄锛岄兘鏈夊搴旂殑鐘舵€佹満绠$悊鍣紝瀵硅薄闇€瑕佹敞鍏ュ叾鎷ユ湁鐨勭姸鎬侊紝浠ュ強鍚勪釜鐘舵€侀棿鐨勮浆绉诲叧绯伙紝杩樻湁鐘舵€佸彂鐢熻浆绉绘椂闇€瑕佽繘琛岀殑鎿嶄綔锛屾澶勬搷浣滅殑杈撳叆閲囩敤浜哻ommand妯″紡銆?/p>

褰撶姸鎬佸彂鐢熻浆绉绘椂锛屽氨浼氳Е鍙戠浉搴旂殑浜嬩欢閫氱煡銆傚悓鏃惰繘鍏ュ洖璋冧箣鍓嶏紝鍏堣褰曞皢瑕佽繘鍏ョ殑鐘舵€侊紝鍦ㄥ洖璋冪粨鏉熷悗锛屾洿鏂板綋鍓嶇姸鎬伮犮€?/p>

鐘舵€佽浆绉绘柟寮忥細

1锛夌洿鎺ヨ浆绉伙細濡傛灉鍓嶅悗鐘舵€佹槸鍙互鐩存帴杞Щ鐨勶紝閭d箞鐩存帴璋冪敤瀵瑰簲鐨勫洖璋冨嚱鏁帮紝骞惰缃浉鍏崇姸鎬?/p>

2锛夐棿鎺ヨ浆绉伙細濡傛灉鍓嶅悗鐘舵€佷笉鍙互鐩存帴杞Щ鐨勶紝閭d箞闇€瑕佽皟鐢ㄤ腑闂寸姸鎬佺殑鍥炶皟鍑芥暟锛屽苟璁剧疆鐩稿叧鐘舵€侊紝鏈€缁堣浆绉诲埌鐩爣鐘舵€併€?/p>

鍏蜂綋瀹炵幇

閫氳繃RegistryLifecycleManager缁熶竴鍏ュ彛invokePhase锛岃繘琛屽悇涓ā鍧楃殑鐘舵€佽Е鍙戙€傜姸鎬佷互鍙婂搴旂殑鍥炶皟锛屽湪妯″潡鍒濆鍖栭樁娈靛畬鎴愩€?/p>

闇€瑕佸垵濮嬪寲鐨勬ā鍧楀湪mule context鐘舵€佽浆绉讳负start鏃舵敞鍐屻€傜洰鍓嶉渶瑕佸惎鍔ㄧ殑瀵硅薄鏈塼ransactionQueueManager锛宑onnector锛宎gent锛宮odel锛宖lowConstruct锛宻tartable绛夛紙杩欓噷鏄寜椤哄簭鍚姩锛侀拡瀵逛笂杩板璞$殑鎵€鏈夊疄渚嬮兘闇€瑕佽繘琛屽垵濮嬪寲鎿嶄綔锛岄€氳繃绫诲瀷鏉ユ煡鎵撅紝榛樿鎯呭喌涓嬮拡瀵逛竴涓璞″彧鑳芥湁涓€涓疄渚嬶紝杩欎簺瀹炰緥鍦╯pring鐨剅efresh杩囩▼涓垱寤轰负bean瀹炰緥锛夈€備笉鍦ㄦ闃舵鍒濆鍖栫殑瀵硅薄鏈塺egistry锛屄爉ulecontext锛屄爉essageSource锛屄燾omponent锛屄爋utboundRouterCollection锛宱utboundRouter銆?/p>

濡傛灉鏄€氳繃web鍚姩鐨勶紝鍒欏湪鍔犺浇閰嶇疆瀹屾垚鍚庯紝濡傛灉muleContext宸茬粡start鍒欎富鍔ㄨЕ鍙戞墍鏈夊疄渚嬶紝鍚﹀垯瑙﹀彂涓€娆uleContext鐨剆tart鐘舵€佽浆绉伙紝閫氳繃瀵硅薄绫诲瀷鏉ユ煡鎵惧搴斿疄渚嬭繘琛宻tart锛岃繖閲屽鏋滄槸spring鍒欒皟鐢╝pplication context鏉ユ煡鎵惧搴旂殑bean銆?/p>

杩欓噷浣跨敤鐨勫弽灏勬満鍒舵煡鎵惧苟鑷姩鎵ц瀵瑰簲瀹炰緥鐨剆tart鏂规硶锛?-invoke鍏蜂綋鎵ц鐨勬柟娉曢€氳繃getMethod鏂规硶鏉ョ‘瀹氥€傝繖閲岀敱浜庡彧鏈変竴涓猻tart鏂规硶锛屽洜姝ら€氳繃getMethod鏂规硶鑾峰彇鐨勬柟娉曞垪琛ㄧ殑棣栦釜鏂规硶灏辨槸start銆傚鏋滄湁澶氫釜鏂规硶鐨勮瘽锛宻tart蹇呴』鏀惧湪鏈€鍓嶉潰浜嗐€?/p>

浠uleContext涓轰緥锛屽叾娉ㄥ唽鐨勭姸鎬佹満濡備笅锛?/p>

mle ESB娴呮瀽七鈥斺€旂姸鎬佹満妯″紡

鍏秈nit闃舵鐨勮Е鍙戞槸doCreateMuleContext鏃讹紝鎵嬪姩璋冪敤鎵ц鐨勩€?/p>

鍏秙tart闃舵鐨勬墽琛屾槸鍦╩ulecontext鍒濆鍖栵紝閰嶇疆鍔犺浇瀹屾瘯鍚庯紝濡傛灉鏄嫭绔嬮儴缃插垯鐢卞閮ㄤ富鍔ㄨ皟鐢╯tart鍑芥暟瑙﹀彂鐨勩€傚鏋滄槸娼滃叆鍒皐eb瀹瑰櫒涓儴缃诧紝鍒欏姞杞介厤缃畬鎴愬悗锛屼富鍔ㄨ皟鐢╝pplyLifecycle瑙﹀彂鍒涘缓瀵硅薄鐨剆tart鐘舵€併€?/p>

鐘舵€佹満妯″紡涓庤瀵熻€呮ā寮忕揣瀵嗗叧鑱旓紝鍥犳涓嬩竴鑺傞噸鐐逛粙缁嶈瀵熻€呮ā寮忓湪mule涓殑浣跨敤銆?/p>